有参考或者期望实现的线性回归函数逻辑代码么?
或者说talib的线性回归逻辑ok么
__declspec(dllexport) int WINAPI FHZQFXSIN(CALCINFO* pData)
{
        if(pData->m_pfParam1 &&                                                        //参数1有效
                pData->m_nParam1Start>=0 &&                                        //参数1为序列数
                pData->m_pfParam2==NULL)                                        //有1个参数
        {
                const float*  pValue = pData->m_pfParam1;        //参数1
                int nFirst = pData->m_nParam1Start;                        //有效值起始位
                int i,ii,j;                                                                        //zq=周期
                int mm=pData->m_nNumData;
                int maxzqlong=mm/2;
                maxzqlong=(maxzqlong>=300?300:maxzqlong);
                float r,gpave,zqave,gp2,zq2,gpzq;
                float rr=0;
                int kk,k0;
                for(ii=0;ii<180;ii++)
                {
                for(i=5;im_pResultBuf,0,sizeof(float)*mm);
                        for(j=0;jm_pResultBuf[j]=sinf(2*pi*j/i+ii*pi/180);
                        gpave=zqave=gp2=zq2=gpzq=0;
                        for(j=0;jm_pResultBuf[j];
                        }
                        gpave=gpave/mm;
//                        zqave=zqave/mm;
                        for(j=0;jm_pResultBuf[j]/*-zqave*/)*(pData->m_pResultBuf[j]/*-zqave*/);
                                gpzq+=(pValue[j]-gpave)*(pData->m_pResultBuf[j]/*-zqave*/);
                        }
r=gpzq/sqrtf(gp2*zq2);
                        if(fabs(r)-fabs(rr)>0.0001)
                        {
                                rr=r;
                                kk=i;
                                k0=ii;
                        }
                }
                }
                constf[0]=rr;                                                //保存相关系数,由FHZQFX_GETR取回
                constf[1]=kk;                                                //保存周期长度,由FHZQFX_GETZQ取回
                constf[2]=k0;                                                //保存周期初始相角,由FHZQFX_GETZQ0取回
                i=kk;ii=k0;
//                        memset(pData->m_pResultBuf,0,sizeof(float)*mm);
                        for(j=0;jm_pResultBuf[j]=sinf(2*pi*j/i+ii*pi/180);                        
                return nFirst;
        }
        return -1;
}
 
			
FORECAST(x,known_y’s , known_x’s)
FORECAST(需要进行预测的数据点,因变量数组或数据区域,自变量数组或数据区域)
参数说明
X:为需要进行预测的数据点。
Known_y’s:为因变量数组或数据区域。
Known_x’s:为自变量数组或数据区域。
函数 FORECAST 的计算公式为 a+bx,式中:
函数 FORECAST 的计算公式
http://www.caohaifeng.com/upload/7/image/20180212/1518401094747916.gif
且:
http://www.caohaifeng.com/upload/7/image/20180212/1518401122737278.gif
函数 FORECAST 的计算公式
且其中 x 和 y 为样本平均数 AVERAGE(known_x’s) 和 AVERAGE(known_y’s)。