一、matlab、stata代码整理

1)matlab:

     1、zscore(x)——标准化

     2、scatter(x,y)——散点图

          hold on——在此图里继续作图

          plot(.......

    3、R=cov(X)          //计算样本协方差矩阵

          [V,D]=eig(R);      //计算R的特征值(D)和特征向量(V)

          diag(D);  //取D对角线即R特征值做一个列向量

          lambda(end:-1:1);//列向量颠倒顺序

2)stata

     1、reg 

           sw reg ...... ,pr()

           ..................,pe()

二、知识点

1)回归中的异常点:

statalogistic回归分析结果解读 stata回归分析结果解读例题_matlab

中部方形部分,上边界为上四分位数

下边界为下四分位数

中间线为中位数

而下部的点是异常点

2)回归的模型

1,双曲线模型
若因变量yy随自变量xx的增加(或减少),最初增加(或减少)很快,以后逐渐放慢并趋于稳定,则可以选用双曲线来拟合。双曲线模型形式为
1/y=β0+β1*1/x;
线性化方法:令y′=1/y,x′=1/x
则转换为线性回归方程
y′=β0+β1x′
2、幂函数

y=β0*X1^β1*X2^β2......

使用:

Y′=lny,β′0=lnβ0,x′1=lnX1,⋅⋅⋅,x′k=lnxk

转化为:

y′=β′0+β1x′1+β2x′2+⋅⋅⋅+βkxk

3、指数函数

形如:y=b0*e^b1x

处理方法:

y′=lny,β′0=lnβ0,x′=x

4、对数

y=b0+b1*lnx

处理方法:

y′=y,x′=lnx

3)多重共线性分析

VIF需要用在线性回归之后,若为logistic回归,先替换为线性回归,做完再做vif检验。

一般认为:

VIF≥3,有多重共线性;

VIF≥6,比较严重多重共线性

VIF≥10,非常严重的多重共线性;

4)主成分分析

需要求x矩阵的特征值及对应的特征矩阵

>> X=zscore(x)       //标准化x

>> Y=zscore(y);       //标准化y

>> R=cov(X)          //计算样本协方差矩阵

>> [V,D]=eig(R);      //计算R的特征值(D)和特征向量(V)

>> lambda=diag(D);  //取D对角线即R特征值做一个列向量

>> lambda=lambda(end:-1:1);//将特征值按从大到小排列(颠倒一下顺序)

>> contribution_rate=lambda/sum(lambda);//求每个特征值所对应的贡献率

>> cum_contribution_rate=cumsum(lambda)/sum(lambda) //求累计贡献率

一般取贡献率较大的特征值所对应的特征矩阵作为主成分Fi=u1*x1+u2*x2……的系数;

因为特征值由大到小,故贡献率是由大到小的,累计贡献率逐渐增大。一般来说,第m个特征值对应的累计贡献率达到大于等于0.8后,取这m个特征值,构成m个主成分。

例:

累计贡献: 0.986     0.9959     0.9991     1

特征向量:0.5016    -0.2371    0.5788    0.5976

                  0.4998     0.4926   -0.6105    0.3673

                  0.4980    -0.7069   ………

                  0.5007      ………

则构成1个主成分

F=0.5016*x1+0.4998*x2+0.498*x3+0.5007*x4

再用标准化的Y和F求回归