python实现FORCAST线性回归预测值函数

news/2025/3/31 22:58:53/

FORCAST线性回归预测值函数是部分软件里面的函数,不同软件函数名称有差异。
以下内容说明节选自某软件

FORCAST该函数的说明如下:
FORCAST(X,N):为X的N周期线性回归预测值。
注:
1、N包含当前k线。
2、N为有效值,但当前的k线数不足N根,该函数返回空值;
3、N为0时,该函数返回空值;
4、N为空值,该函数返回空值;
5、N可以是变量
算法举例:用最小平方法计算FORCAST(C,3)在最近一根K线上的值
1、建立一元线性方程:y=a+bi+m
2、y的估计值:y(i)^=a+b
i
3、求残差:m=y(i)-y(i)=y(i)-a-bi
4、误差平方和:
Q=m(1)m(1)+…+m(3)m(3)=[y(1)-a-b1][y(1)-a-b
1]+…+[y(3)-a-b3][y(3)-a-b3]
5、对线性方程中的参数a,b求一阶偏导:
2
{[y(1)-a-b1]+…+[y(3)-a-b3]}(-1)=0
2
[y(1)-a-b1](-1)+…+[y(3)-a-b3](-3)=0
6、联立以上两个公式,解出a,b的值:
a=(y(1)+y(2)+y(3))/3-b(i(1)+i(2)+i(3))/3
b=(y(1)i(1)+y(2)i(2)+y(3)i(3)-(3((i(1)+i(2)+i(3))/3)((y(1)+y(2)+y(3))/3))/((i(1)2+i(2)2+i(3)2)-3*((i(1)+i(2)+i(3))/3)2)
7、将a,b,i值带入1,求出y值
以上公式用麦语言函数可以表示如下:
BB3
C+2REF(C,1)+REF(C,2)-(3((1+2+3)/3)MA(C,3)))/((SQUARE(1)+SQUARE(2)+SQUARE(3))-3SQUARE((1+2+3)/3));
AA:MA(C,3)-BB*(1+2+3)/3;
YY:AA+BB*3;

实际实现结果:


class forcast():def __int__(self):passdef cal(self,d_list):i=1sumx=0while i<=len(d_list):sumx=i*d_list[i-1]+sumxi=i+1l1=list(range(1,len(d_list)+1))r1=sum(l1)r2=r1*np.mean(d_list)l2=[]for v1 in l1:l2.append(v1*v1)r3=sum(l2)r4=len(d_list)*(r1/len(d_list)*(r1/len(d_list)))r5=(sumx-r2)/(r3-r4)r6=np.mean(d_list)-r5*r1/len(d_list)rs=r6+r5*len(d_list)return rs

http://www.ppmy.cn/news/7302.html

相关文章

【endnote学习】为什么引用文献时期刊名没有显示为缩写名形式

为什么引用文献时期刊名没有显示为缩写名形式问题描述问题解决问题描述 在引用文献时&#xff0c;发现有个别文献引用信息中期刊名没有显示为缩写形式。比如(选择显示格式为AIChE): 引用信息里&#xff0c;期刊名“Physical review B”没有自动显示为缩写名。 出现这种情况有…

2022年iFLYTEKA.I.开发者大赛疫情微博情绪识别挑战赛

自然语言技术 零基础入门NLP - 新闻文本分类 基于word2vec的word相似度 疫情微博情绪识别挑战赛自然语言技术背景一、赛事任务二、使用步骤1.README2.数据下载3.模型训练及保存4.模型预测5.比赛结果背景 疫情发生对人们生活生产的方方面面产生了重要影响&#xff0c;并引发了…

黑客比程序员高在哪里?

黑客其实和一般的程序员一样&#xff0c;但是他们的关注点不一样。黑客关注的是如何破坏&#xff0c;通过这些有创造性的破坏来获取利益&#xff0c;展现自己的能力。而程序员关注的是如何创造&#xff0c;通过创造来获取利益&#xff0c;展现自己的能力。 就如同一个硬币的两…

2022年上半年软件设计师考试下午真题(专业解析+参考答案)

题目&#xff1a;阅读下列说明和图&#xff0c;回答问题1至问题4&#xff0c;将解答填入答题纸的对应栏内。【说明】某公司欲开发一款外卖订餐系统&#xff0c;集多家外卖平台和商户为一体&#xff0c;为用户提供在线浏览餐品、订餐和配送等服务。该系统的主要功能是&#xff1…

Web应用怎样获取Access Token?

1.在联盟创建服务器应用 参考文档&#xff1a;开发准备 2.获取用户级Access Token 2.1 获取code 参考文档&#xff1a;接入华为帐号获取凭证 2.1.1 先按照跳转链接进行配置url https://oauth-login.cloud.huawei.com/oauth2/v3/authorize? response_typecode& acces…

【BF算法】

BF 算法 BF 算法精讲 在学习到字符串的匹配问题时&#xff0c;了解到了BF算法和KMP算法。 对比这两个算法&#xff0c;先了解BF算法&#xff1b; 字符串匹配问题&#xff0c;比如说&#xff1a;有一个主串 “abbbcdef” &#xff0c; 子串 “bbc”&#xff0c;该问题就是在主…

JavaScript基础

一、JavaScript的介绍 JavaScript 是一种运行在 客户端的脚本语言&#xff0c;作为web标准的行为层&#xff0c;最初出现时只是为了实现网页端和用户之间的交互。在正式学习JS之前&#xff0c;我们首先需要对JS的产生和发展历史有一定的了解。 1. JS发展历史 1995年&#xf…

servlet(三)文件的下载

主要有几个步骤: 1、获取要下载的文件名 2、读取要下载的文件内容 (通过 ServletContext 对象可以读取,这个也是 ServletContext的应用) 3、获取要下载的文件类型 4、在回传前&#xff0c;通过响应头告诉客户端返回的数据类型 5、还要告诉客户端收到的数据是用于下载使用&#…