数学建模竞赛笔记
基础知识
MATLAB学习
清屏:clear
,clc
repmat(min(Z),n,1)
将创建一个大小为n行、1列的矩阵,每个元素都是min(Z)
sort()
默认升序排列,[sorted_S,index]=sort(S,'descend')
降序排列
size(A,2)
得到A的列数,size(A,2)
得到A的行数
A(:;2)
得到矩阵A的第2列
MATLAB的函数格式如下,函数需单独放在m文件里,不能放在主文件里,且一个函数一个m文件,几个函数就几个m文件
function [输出变量] = 函数名(输入变量) |
plot函数
线方式;-
实线 :
点线 -.
虚点线 --
波折线
点方式:.
圆点 +
加号 *
星号 x
x形 o
小圆
颜色:y
黄 r
红 g
绿 b
蓝 w
白 k
黑 m
紫 c
青plot(x,y,'o',new_x,p,'r-')
,且三个参数的输出顺序没有严格要求
legend用来给figure添加图例
plot(x, y1, 'r-', x, y2, 'b--', x, y3, 'g:'); |
匿名函数 函数名=@(参数列表) 函数表达式
,例如 z=@(x,y) x^2+y^2; z(1,2)
fplot函数 f=@(x) k*x+b; fplot(f,[2.5,7])
randi([-5,5],2,5)
生成-5到5均匀分布的整数矩阵,大小为2×5rand(2,5)
生成0到1之间的随机矩阵,大小为2×5
生成a到b之间的随即矩阵 a+(b-a)*rand(2,5)
normrnd(0,2,3,4)
均值为0,标准差为2,大小为3×4roundn(a,0)
任意位置四舍五入 0
个位 1
十位 2
百位 -1
小数点后一位
描述性统计的函数:
min、max、mean、median中位数、skewness偏度、kurtosis峰度、std标准差、var方差
这些函数都是默认按列计算,按行计算第二个参数需传入1
t分布函数tpdf(x,28)
,28是自由度
t分布累计密度的反函数tinv(0.975,28)
0.975就是那个概率
Excel学习
描述性统计:设置-加载项-转到-数据分析工具勾选-确定-标题栏:数据-数据分析
热力图:选中数据区域-标题栏:开始-条件格式-色阶,开始-条件格式-管理规则-编辑规则-设置最大/小值,图片反应的效果更好
转表格:全选-插入-表格-确定
Excel 数据透视表:
1、标题栏:插入-数据透视表-右侧添加透视表字段
2、标题栏:分析-数据透视图-选择模板
3、对于柱状图:标题栏:开始-右侧:排序与筛选-升序
4、多添加几个值可以有交互的显示
变量类型 | 变量名称 | 说明 |
---|---|---|
定量指标 | ||
定性指标 |
SPSS学习
标度:数字类型,有序:有序数据(优良劣),名义:无序数据(男女)
描述性统计工具:标题栏:分析-描述统计-描述
散点图:标题栏:图形-旧对话框-散点图/点图-矩阵散点图
显著性水平:分析-相关-双变量-选择相关系数-勾选标记显著性相关性-确定
夏尔洛-威尔克检验:分析-描述统计-探索-图-勾选含检验的正态图-确定
生成虚拟变量:标题栏:转换-创建虚拟变量
求解逻辑回归:标题栏:分析-回归-二元,如果有分类变量,先要点分类去生成虚拟变量,后保存-勾选概率和组成员,最后确定
加入平方项、交叉项:标题栏:转换-计算变量
使用K-Means++:标题栏:分析-分类-K-均值聚类,保存-两个都勾选上,选项-勾选第一个和第三个,确定
进行z标准化:标题栏:分析-描述统计-描述-勾选将标准化另存为变量
系统聚类:标题栏:分析-分类-系统聚类,图-勾选谱系图,方法-标准化,量纲不同需选择z标准化,保存-可选择分类数目
对类别分类画图:标题栏:图形-图标构建器-图库-散点图,组/点ID-点ID标签
处理缺失值:标题栏-转换-替换缺失值,方法如下
序列平均值:用整个序列的平均数代替缺失值
临近点的平均值:用相邻若干个点的平均数来替换缺失值(默认为两个点)
临近点的中位数:用相邻若干个点的中位数来替换缺失值(默认为两个点)
线性插值:用相邻两个点的平均数来替换缺失值
邻近点的线性趋势:将时期数作为x,时间序列值作为y进行回归,求缺失点的预测值
定义时间变量:标题栏-数据-定义日期和时间(即使是年份的数值,也先定义一下,免得出错)
画时间序列图(时序图):标题栏:分析-时间序列预测-序列图
进行季节性分解:标题栏:分析-时间序列预测-季节性分析,权重:奇数周期所有点相等,偶数周期按0.5加权,确定(差异就是差分)
ERR_1 | 数字 | 11 | 5 | 不规则变动(残差或误差值) |
SAS_1 | 数字 | 11 | 5 | 季节性调整后系列(T+C+I) |
SAF_1 | 数字 | 11 | 5 | 季节性调整因子(S) |
STC_1 | 数字 | 11 | 5 | 趋势循环成分(T+C) |
使用专家建模:标题栏:分析-时间序列预测-创建传统模型,把因变量放进去,自变量不用管,确定(条件-离群值,可以全勾上)
统计-右下角勾选参数估算值,图-勾选下面拟合值,右边ACF、PACF,保存-勾选预测值,选项-勾选第二个就可以预测了
注:
1、预测值和拟合值是不相同的,预测值是将样本外年份的数据带入模型计算得到的,而拟合值是将样本的年份重新带入模型计算得到的。
2、这里保留残差的ACF和PACF图形可以帮助我们判断残差是否为白噪声,即该时间序列是否能被模型识别完全
Stata学习
清屏:clear
,cls
双击变量窗口可自动填写到命令窗口,也可以按住shift去选
描述性统计:summarize/sum [变量名]
(定量的数据),复制为表格先粘贴到excel里面美化tabulate/tab [变量名],gen(A)
(定性数据),A为虚拟变量的名字,可在数据编辑器(标题栏那儿)里看到
回归:regress/reg y x_1 x_2 ...
默认是OLS 普通最小二乘估计法)
返回第一张表为方差分析表
Model是SSR,Residual是SSE,Total是SSI,df是自由度,MS是平均:用前面的SS除以df,平均一般不用
右侧F()
为联合显著性检验(前面系数都为0的检验),如果接受了这个检验,那么这个回归就没意义,因为系数都为0Adj R-squared
调整后的R^2
,这个很重要
下面那张表为回归系数表
左边cons
为常数项,coef.
为变量前的回归系数,Std Err为回归系数所对应的标准误差,后面的t统计量为前面的回归系数除以后面的回归系数所对应的标准误差,后面为P值,用于和我们的1-置信水平作比较,我们选一个置信水平,如果P值小于1-置信水平,则拒绝原假设(原假设默认是系数为0)
最后面那两列是置信区间,但我们主要还是关注系数列和P值列
对于分类变量形成的虚拟变量,代码格式是一样的(stata会自动检测数据的完全多重共线性问题)
用下面的代码可以将回归数据导出成表格
ssc install reg2docx, all replace |
表中的括号就是检验值,然后就是需要把显著性标记复制过去说明一下
拟合优度
(1)回归分为解释型回归和预测型回归。预测型回归一般才会更看重
(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归(高维的回归问题,其实跟玄学一样)
(3)数据中可能有存在异常值或者数据的分布极度不均匀
层次分析法
The Analytic Hierarchy Process (AHP)
一、基本问题
用于解决评价类问题
- (目标层 Objection)目标
- (方案层 Plan)可选方案
- (准则层 Criterion)评价指标:背景资料、常识(头脑风暴)、搜论文(旅游选择因素)
(层次评价模型)层次结构图:亿图图示、Visio
指标权重 | 方案 1 | 方案 2 | …… | |
---|---|---|---|---|
指标 1 | ||||
指标 2 | ||||
…… |
指标权重求和为 1,每一个指标下的方案权重求和也要为 1
excel 表格计算权重时:F4 固定表格
二、确定权重
分而治之的思想
C | P1 | P2 | P3 | P4 | P5 |
---|---|---|---|---|---|
P1 | 1 | O | O | O | O |
P2 | 1 | O | O | O | |
P3 | 1 | O | O | ||
P4 | 1 | O | |||
P5 | 1 |
每一个求和为 1,就有一张这样的表,所以有
单元格为该行比该列的重要程度
标度 | 1 | 3 | 5 | 7 | 9 | 2468 | 倒数 |
---|---|---|---|---|---|---|---|
同等重要 | 稍微 | 明显 | 强烈 | 极端 | 中值 |
三、一致性检验
判断矩阵:
且 (正互反矩阵)
一致矩阵:,即各行(各列)成倍数关系
一致性检验
- 计算一致性指标
(一致时 ,不一致时 ) - 查找对应的平均随机一致性指标
- 计算一致性比例
(若 ,则可以接受)
四、计算归一化权重
又被称为层次单排序,也就是有一张表就要求一次归一化权重,注意是计算的每行的权重
首先得通过一致性检验
1、算术平均法求权重
k 表示对单一列求和
2、几何平均法求权重
3、特征值法
求最大特征值
五、局限
,不能太大 - 不适用于决策层中的指标数据已知的情况
六、回顾步骤
- 分析系统中各因素之间的关系,建立系统的递阶层次结构
- 对于同一层次的各元素关于上一层次中某一准则的重要性进行两两比较,构造两两比较矩阵(判断矩阵O-C、C-P)
- 由判断矩阵计算被比较元素对于该准则的相对权重,并计算一致性检验(检验通过权重才能用)
- 计算各层元素对系统目标的合成权重,并进行排序
TOPSIS法
Technique for Order Preference by Similarity to Ideal Solution
逼近理想解排序法、优劣解距离法
一、引入
越大(高)越好的指标:极大型指标(效益型指标)
越少(低)越好的指标:极小型指标(成本型指标)
1、将所有的指标转化为极大型(指标正向化)
极小型转极大型公式:
2、为消去不同指标量纲的影响,需要对已经正向化的矩阵进行标准化处理:
3、计算评分的公式:
即:
如果有很多维度(即得到一个矩阵)的话,则构建各维度最大值所组成的最大值向量,和最小值向量,之后取欧几里得度量即可
$$
\text{与最大值的距离}:D^+i=\sqrt{\sum^m{j=1}(Z^+j-z{ij})^2}
$$
最小值同理,然后就求出未归一化得分:
二、TOPSIS法
极大型指标(效益型指标):越大(高)越好的指标
极小型指标(成本型指标):越少(低)越好的指标
中间型指标:越接近某个值越好
区间型指标:落在某个区间最好
1、将原始矩阵正向化
极小型
中间型
区间型
2、正向化矩阵标准化
即
3、计算得分并得归一化
前面讲过了,即:
三、模型扩展
1、层次分析法
前面的方法,各评价指标的权重都是一样,如果权重不一样,有
$$
\text{与最大值的距离}:D^+i=\sqrt{\sum^m{j=1}\omega_j(Z^+j-z{ij})^2}
\sum_{j=1}^m
\omega_j=1
$$
2、熵权法
指标的变异程度(方差)越小,所反映的信息量也越少,其对应的权值也应该越低(但这种方法在一些事情上有问题)
越有可能发生的事情,信息量越少;越不可能发生的事情,信息量越多
定义信息量
当各时间概率相同时
随机变量的信息熵越大,则他的值(内容)能给你补充的信息量越大,而知道这个值之前你已有的信息量越小
提出约化信息熵
定义信息效用值
最后对信息效用值进行归一化,
得到每个指标的熵权
补充:
1、输入矩阵必须是非负的,如果有负数,需用新的标准化方法,公式和前面计算得分的式子是一样的
2、计算概率矩阵
$$
p_{ij}=\frac{\tilde{z}{ij}}{\sum{i=1}^n\tilde{z}_{ij}}
$$
插值算法
思路:构造函数
插值多项式:有n+1各互异的节点,用一个n次多项式去拟合,可以得到n+1个线性方程,用线性代数的方法求解
1、拉格朗日插值法:考虑三个点,对
龙格现象:高次插值会产生龙格现象,即在两端处波动极大,产生明显的震荡,这时需采用分段插值
分段插值:
分段线性插值:相邻的点连线,取中点插值,分段二次插值(分段抛物插值)、分段三次插值
2、牛顿插值法:
定义一阶差商
定义二阶差商
以此类推n阶差商
则有插值多项式 $f(x)=f(x_0)+fx_0,x_1+fx_0,x_1,x_2(x-x_1)$
与拉格朗日插值法相比,牛顿插值法具有继承性,但是牛顿插值也会有龙格现象
并且前两种插值法都不能全面反映被插值函数的性态
3、Hermite插值法
该插值法除了要求
对于n+1个节点,由Hermite插值法能找到一个次数不超过2n+1的多项式满足上面两个条件,参数过多,实际更多使用分段插值的思想
分段三次Hermite插值 p=pchip(x,y,new_x)
,new_x
为插值的横坐标
三次样条插值:要求在插值区间上二阶连续可微 p=spline(x,y,new_x)
拟合算法
在插值算法中,得到的多项式会经过所有的样本点,而拟合的话则没有这个要求,只要误差足够小就行
1、最小二乘法:$\hat{y}i=kx_i+b
定义损失函数/残差平方和:
2、为评价拟合的好坏,引入
总体平方和
误差平方和
回归平方和
拟合优度(可决系数)
对于拟合方式的评价(比较不同函数去拟合的好坏),直接看
3、cftool
工具箱
custom equation
自定义拟合函数表达式
polynomial
多项式拟合,其中degree
为多项式次数
如果出现未收敛情况,要进到Fit Option
里面更改StartPoint
初始值
相关系数
总体:索要考察对象的全部个体
样本:从总体中所抽取的一部分个体,计算这些抽取的样本量来估计总体的统计量
一、皮尔逊Person相关系数
协方差的大小和两个变量的量纲有关,不适合作比较,因此引入相关系数,也就是总体皮尔逊Person相关系数:
皮尔逊相关系数可以看作将X和Y标准化后(提出量纲影响)的协方差
可以证明,
而样本皮尔逊相关系数:
皮尔逊相关系数是用来衡量两个变量线性相关程度的指标,用之前得保证两个变量是线性相关的:
1、非线性也会导致相关系数很大
2、离群点对相关系数得影响很大
3、两个变量相关系数很大也不能说明二者有关,可能是受到异常值得影响
4、相关系数为0只是说明不是线性相关,说不定有更复杂的相关关系(非线性相关)
所以首先画出散点图很关键
相关系数的大小:正/负,无/弱/中/前相关性,但事实上,比起相关系数的1大小,我们往往更关系的是显著性(假设检验)
corrcoef函数R=corrcoef(A)
返回A的相关系数矩阵,R=corrcoef(A,B)
返回A、B向量之间的系数
二、假设检验
假设一个统计满足正态分布(原假设),则样本落在那个
上述临界值之内的区域被称为接受域,临界值以外的被称为拒绝域,接受域和置信区间不一样,一个是假设检验的东西,一个是参数估计的东西
也就是说,我们假设一个统计满足的分布之后,人为设置一个置信水平,就可以计算得到接受域和拒绝域,最后我们把真实的情况带进入,看它是落在哪个里面,做最后相信还是拒绝假设的判断
所以有可能在95%置信水平下拒绝的假设,在99%置信水平下却接受了,因为此时拒绝域的范围变小了,小概率事件特别难发生
双侧检验(two-tailed test):拒绝域在分布的两端。用于检测参数是否显著不同于某个值(即可能更大或更小)。
单侧检验(one-tailed test):拒绝域只在分布的一端。用于检测参数是否显著大于或小于某个值。
双侧检验和单侧检验的选择取决于具体的研究问题和假设
而接受域的范围的获得是通过累计密度函数/分布函数
而如果是单侧检验,考虑正态分布的右侧单侧检验,置信水平依然是95%,但此时我们只需在右侧留出5%的概率就行了。我们需要找到使得累计概率为0.95的临界值
通过求反函数,我们得到
注意上述我们预先限定了满足分布、置信水平取多少、双/单侧检验,这三个量都要事先确定
假设检验的步骤:
1、写出
2、在
3、在给定置信水平
4、用已知的样本数据带入计算过程,得到检验值,若检验值落在
上述过程,最难的是构造分布的过程,但我们一般只用别人的分布
再者,由反函数倒推
三、皮尔逊相关系数的假设检验
Q:我已经求出了相关系数了,为什么还有检验?这个显著性是个什么东西?
A:虽然我们可以计算出皮尔逊相关系数来衡量两个变量之间的线性关系,但这并不意味着我们可以立即得出结论说这两个变量之间确实存在显著的线性关系。显著性检验的主要目的是确定我们计算出的相关系数是否在统计上显著,即它是否可能仅仅是由于随机抽样误差而出现的。
常见的显著性标记和它们对应的p值区间如下:
p<0.05:通常标记为 * 或 **,表示结果在95%的置信水平上显著。
p<0.01:通常标记为 ** 或 ***,表示结果在99%的置信水平上显著。
p<0.001:通常标记为 *** 或 ****,表示结果在99.9%的置信水平上显著。
例如,在一篇研究论文或数据分析报告中,表格或图表中的数据点可能会附有这些标记,以指示结果的显著性。例如:
变量 | 均值 | 标准差 | p值 | 显著性 |
---|---|---|---|---|
A | 10.5 | 2.3 | 0.03 | * |
B | 8.7 | 1.9 | 0.001 | *** |
在这个表格中,变量A的结果在95%的置信水平上显著,而变量B的结果在99.9%的置信水平上显著。
皮尔逊相关系数假设检验的条件:
1、实验数据通常是成对的来自正态分布的总体(这时候就需要对数据进行正态分布检验,见本文第四节)
2、实验数据之间的差距不能太大
3、每组样本之间是独立抽样的
对皮尔逊相关系数进行假设检验的步骤:
1、提出原假设
2、在原假设成立的条件下,利用我们要检验的量构造出一个符合某一分布的统计量
注1:统计量的表达式里不能包含其他的随机变量
注2:这里满足的分布一般是:正态分布、分布、 分布、 分布
对于皮尔逊相关系数而言,在前面那三个条件下,我们可以构造统计量:
可以证明t是满足服从自由度n-2的t分布
3、将我们要检验的这个值带入统计量,得到检验值
4、画出该统计量的概率密度函数,并给定一个置信水平,根据这个置信水平查表找到临界值,并画出检验统计量的接受域和拒绝域
常见的置信区间有:90%、95%、99%
5、看我们计算出来的检验值是落在拒绝域还是接受域,最后下结论即可
四、对数据进行正态分布检验
1、正态分布JB检验(大样本n>30)Jarque-Bera 雅克-贝拉
偏度为 skewness(x)
偏度
峰度为 kurtosis(x)
峰度
构造JB统计量为
假设检验的步骤:
1、
2、计算偏度、峰度,得到检验值JB*,通过MATLAB计算其对应的P值
3、若选择95%的置信水平,则将P值与0.05进行比较,如果小于0.05就拒绝原假设
JB检验 [h,p]=jbtest(x,alpha)
alpha为显著性水平,一般取0.05,x必须为向量
2、Shapiro-wilk检验(小样本3
SPSS:分析-描述统计-探索-图-勾选含检验的正态图-确定
2、Q-Q图(数据量非常大)
qqplot(x)
是否属于正态分布,看Q-Q图上的点是否近似地在一条直线附近
五、斯皮尔曼Spearman相关系数
其中:
一个数的等级,就是将它所在的列从小到大排序之后的序数,如果有数值相同的,则取它们序数的算术平均
另一种定义是:等级之间的皮尔逊相关系数(MATLAB默认的定义)
cor(x_1,x_2,'type','Spearman')
两个向量必须是列向量,记得加 '
转置cor(X,'type','Spearman')
传入矩阵
斯皮尔曼相关系数的假设检验:
1、小样本情况(n
2、大样本情况,构造统计量 normcdf()
六、相关系数的比较
1、连续数据、正态分布(很难满足)、线性关系,用皮尔逊相关系数
2、三个条件有一个不满足,有斯皮尔曼相关系数
3、两个定序数据(优良差)之间也用斯皮尔曼相关系数
定序数据是指仅仅反映观测对象等级、顺序关系的数据,是由定序尺度计量形成的,表现为类别,可以进行排序,属于品质数据
典型相关分析
典型相关分析 Canonical Correlation,是研究两组变量(每组变量中都可能有多个指标)之间的相关关系的一种多元统计方法,即多变量间的相关性分析
基本思想就是,在每组数据内,给每一个指标确定一个权重,然后通过线性组合的方式,得到两个新的向量,记为
最终得到的
系数须满足条件:1、
SPSS操作:分析-相关-典型相关性-选择指标到集合1和集合2-确定-导出为word,改一下集合名称,表格名称“典型相关性”改成“典型相关系数”,“相关性”改成“相关系数”,“显著性”改成“P值”,将P值和显著性水平作比较
置信水平:90 95 99,显著性水平:0.1 0.05 0.01,确定一个置信水平,选择P值小于显著性水平的特征值
然后下面的系数使用标准化后的更好(消除量纲影响)
典型载荷分析:导出的文件有
典型冗余分析:导出的文件有(方差比例)
典型相关分析关键步骤:
1、假设两组数据服从联合正态分布
2、对两组变量的相关性进行检验(构造似然比统计量)
3、确定典型相关变量的个数(直接看典型相关系数对应的P值即可)
4、利用标准化后的典型相关变量分析问题
5、进行典型载荷分析
回归分析(线性回归)
回归分析介绍
回归分析:研究X和Y之间的相关性分析,X为解释变量,Y为被解释变量
Y:GDP增长率(连续数值型变量)线性回归
Y:能/不能还款(0-1型变量)逻辑/0-1回归
Y:1-5表示喜欢(定序变量)定序回归
Y:到访次数(计数变量)
Y:人的寿命60+(生存变量)
回归分析的关键:
1、识别重要变量(逐步回归法)
2、判断相关性的方向
3、估计权重(回归系数)
类型 | 模型 | Y的特点 | 例子 |
---|---|---|---|
线性回归 | OLS、GLS(最小二乘) | 连续数值型变量 | GPD、产量、收入 |
0-1回归 | logistic回归 | 二值变量(0-1) | 是否违约、是否得病 |
定序回归 | probit定序回归 | 定序变量 | 等级评定(优良差) |
计数回归 | 泊松回归(泊松分布) | 计数变量 | 每分钟车流量 |
生存回归 | Cox等比例风险回归 | 生存变量(截断数据) | 企业、产品的寿命 |
线性回归
1、数据类型
1、横截面数据:在某一时间点收集到的不同对象的数据 Cross Sectional Data
2、时间序列数据:同一对象在不同时间连续观察所得到的数据 Time Series Data
3、面板数据:前两个数据综合在一起 Panel Data
数据类型 | 常见建模方法 |
---|---|
横截面数据 | 多元线性回归 |
时间序列数据 | AR、MA、ARMA、ARIMA |
面板数据 | 固定效应与随机效应、静态面板与动态面板 |
2、一元线性回归模型
假设
前面两个是回归系数,后面那个是扰动项
令预测值
其中
其中
这里和拟合的做法一摸一样
3、遗漏变量导致的内生性
与干扰项项相关的变量称为内生变量(endogenous variable)
与干扰项不相关的变量称为外生变量(exogenous variable)
如果内生变量,会导致模型不准确(见下段话),此时称模型具有内生性
内生性导致的问题:
1、回归系数有偏(Bias):估计的回归系数不代表真实的关系
2、估计结果不一致(Inconsistency):即使样本量增加,估计结果也不会收敛到真实值
我们的目的就是把干扰项中与内生变量有关的部分找到,分离出来,这样我们便使得误差项u和所有自变量x均不相关,此时我们称该回归模型满足外生性(即满足无偏性和一致性)
无偏性(Unbiasedness):估计的回归系数在平均意义上等于真实值
一致性(Consistency):随着样本量的增加,估计结果会收敛到真实值
内生性的蒙特卡洛模拟:横坐标是
无内生性要求所有的解释变量都与扰动项无关,为弱化这个条件,我们可将解释变量分为核心解释变量和控制变量,我们只需保证核心解释变量和u不相关即可
4、回归系数的解释
(偏)回归系数
1、一元线性回归:
2、双对数模型:
3、半对数模型:
4、半对数模型:
如果有多个变量的话:控制其他自变量不变的情况下……
5、虚拟变量
虚拟变量(Dummy Variables),也称为哑变量,是在回归分析中用于表示分类数据的一种方法。虚拟变量的主要目的是将分类变量(如性别、地区、季节等)转化为数值形式,以便能够在回归模型中使用。
如何创建虚拟变量?
假设有一个分类变量
比如研究工资水平,考虑核心解释变量为性别
比如有一个变量“颜色”(Color),它有三个类别:红色(Red)、蓝色(Blue)和绿色(Green)。我们可以创建两个虚拟变量来表示这个分类变量:
表示红色(Red):如果颜色是红色,则 ,否则 。 表示蓝色(Blue):如果颜色是蓝色,则 ,否则 。
绿色(Green)作为基准类别,即对照组,让其他变量和它作比较,因此该变量不能作为虚拟变量,因为当
Color | ||
---|---|---|
Red | 1 | 0 |
Blue | 0 | 1 |
Green | 0 | 0 |
假设我们要研究颜色对某商品销售量的影响,回归模型可以写成:
这里:
是基准类别(绿色)的平均销售量。 是红色相对于绿色的销售量差异。 是蓝色相对于绿色的销售量差异。 是误差项。
虚拟变量陷阱:在回归模型中,不能包含所有
6、含有交互项的自变量
因变量对一个解释变量的偏效应、弹性或半弹性,有时很自然的取决于另一个解释变量的大小
在回归分析中,含有交互项(Interaction Term)的自变量是指两个或多个自变量的乘积项,用于捕捉这些自变量之间的相互影响
假设我们在研究工作经验(Experience)和教育水平(Education)对工资(Salary)的影响。我们怀疑工作经验对工资的影响可能会因教育水平的不同而有所不同。可以构建一个包含交互项的回归模型:
在这个模型中:
表示工作经验对工资的影响,但这个影响是教育水平为零时的影响。 表示教育水平对工资的影响,但这个影响是工作经验为零时的影响。 表示工作经验和教育水平的交互作用对工资的影响。
如果
7、回归的应用
现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。
请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于商家,更有益于宝妈们为宝贝选择适合自己的奶粉。
- 以评价量为因变量,分析其它变量和评价量之间的关系;
- 以评价量为因变量,研究影响评价量的重要因素。
Stata 描述性统计:summarize
/sum [变量名]
(定量的数据),复制为表格先粘贴到excel里面美化tabulate
/tab [变量名],gen(A)
(定性数据),A为虚拟变量的名字,可在数据编辑器(标题栏那儿)里看到
Excel 数据透视表:
1、标题栏:插入-数据透视表-右侧添加透视表字段
2、标题栏:分析-数据透视图-选择模板
3、对于柱状图:标题栏:开始-右侧:排序与筛选-升序
4、多添加几个值可以有交互的显示
变量类型 | 变量名称 | 说明 |
---|---|---|
定量指标 | ||
定性指标 |
Stata 回归:regress/reg y x_1 x_2 ...
默认是OLS 普通最小二乘估计法)
返回第一张表为方差分析表
Model是SSR,Residual是SSE,Total是SSI,df是自由度,MS是平均:用前面的SS除以df,平均一般不用
右侧F()
为联合显著性检验(前面系数都为0的检验),如果接受了这个检验,那么这个回归就没意义,因为系数都为0Adj R-squared
调整后的R^2
,这个很重要
下面那张表为回归系数表
左边cons
为常数项,coef.
为变量前的回归系数,Std Err为回归系数所对应的标准误差,后面的t统计量为前面的回归系数除以后面的回归系数所对应的标准误差,后面为P值,用于和我们的1-置信水平作比较,我们选一个置信水平,如果P值小于1-置信水平,则拒绝原假设(原假设默认是系数为0)
最后面那两列是置信区间,但我们主要还是关注系数列和P值列
对于分类变量形成的虚拟变量,代码格式是一样的(stata会自动检测数据的完全多重共线性问题)
用下面的代码可以将回归数据导出成表格
ssc install reg2docx, all replace |
表中的括号就是检验值,然后就是需要把显著性标记复制过去说明一下
拟合优度
(1)回归分为解释型回归和预测型回归。预测型回归一般才会更看重
(2)可以对模型进行调整,例如对数据取对数或者平方后再进行回归(高维的回归问题,其实跟玄学一样)(对于解释性回归不要轻易加高次项进去,因为你需要解释这样做的目的)
(3)数据中可能有存在异常值或者数据的分布极度不均匀
为什么要使用调整拟合优度?
我们引入的自变量越多,拟合优度会变大。但我们倾向于使用调整后的拟合优度,
如果新引入的自变量对SSE的减少程度特别少,那么调整后的拟合优度反而会减小。
其中,
分母
分子
通过这个调整,调整后的
总结一下,回归之后先看模型的显著性检验,然后看系数的值和对应的
至此,完成第一个问题。回顾一下问题:
现有某电商平台846条关于婴幼儿奶粉的销售信息,每条信息由11个指标组成。其中,评价量可以从一个侧面反映顾客对产品的关注度。
请对所给数据进行以下方面的分析,要求最终的分析将不仅仅有益于商家,更有益于宝妈们为宝贝选择适合自己的奶粉。
- 以评价量为因变量,分析其它变量和评价量之间的关系;
- 以评价量为因变量,研究影响评价量的重要因素。
而第二个问题,要用到标准化回归系数,即去除量纲的影响后的回归系数
对数据进行标准化,就是将原始数据减去它的均值后,再除以该变量的标准差,计算得到新的变量值,新变量构成的回归方程称为标准化回归方程,回归后相应可得到标准化回归系数。
标准化系数的绝对值越大,说明对因变量的影响就越大。
Stata 标准化回归:regress/reg y x_1 x_2 ..., beta/b
对数据进行标准化处理不会影响回归系数的标准误差,也不会影响显著性(即P值)
然后是_cons的均值是其本身,标准化之后就变成了0
8、扰动项
在之前的回归分析中,我们都默认了扰动项是球型扰动项(满足“同方差”和“无自相关”两个条件)
横截面数据容易出现异方差的问题;时间序列数据容易出现自相关的问题。
如果扰动项存在异方差:
1、OLS估计出来的回归系数是无偏、一致的
2、假设检验无法使用(构造的统计量失效了)
3、OLS估计量不再是最优线性无偏估计量(BLUE)
怎么解决异方差:
1、使用OLS + 稳健的标准误
2、广义最小二乘估计法GLS
检验异方差,在回归结束后运行命令:rvfplot
(画残差与拟合值的散点图)rvpplot x
(画残差与自变量x的散点图)
拟合值出现负数的原因:评价量的分布极度不平衡
代码summarize 评价量,d
可以看到百分比的数据
异方差的假设检验
1、BP检验
Stata命令(在回归结束后使用):estat hettest ,rhs iid
BP检验原假设:扰动项不存在异方差
P值小于0.05,说明在95%的置信水平下拒绝原假设,即我们认为扰动项存在异方差。
2、怀特检验
怀特检验原假设:扰动项不存在异方差
Stata命令(在回归结束后使用):estat imtest,white
怎么解决异方差:
1、使用OLS + 稳健的标准误(推荐)
2、广义最小二乘法GLS
Stock and Watson (2011)推荐,在大多数情况下应该使用“OLS + 稳健标准误”
使用OLS + 稳健的标准误 regress y x1 x2 … xk,robust
9、多重共线性
多重共线性(Multicollinearity)是指在回归分析中,多个自变量之间存在较强的线性关系。这种现象会导致回归模型中某些自变量的系数估计不稳定,标准误差增大,从而影响模型的解释性和预测能力。
多重共线性的影响:
1、系数不稳定:自变量之间高度相关会导致回归系数难以精确估计,可能出现较大的变化。
2、标准误差增大:多重共线性会使得估计系数的标准误差增大,从而使得系数的显著性检验失效。
3、模型解释性降低:由于自变量之间的高度相关性,很难确定哪个变量对因变量的影响更大。
检测多重共线性的方法:
1、方差膨胀因子(VIF, Variance Inflation Factor):计算每个自变量的VIF值,通常VIF值超过10被认为存在严重的多重共线性。
2、特征值和条件数:通过计算设计矩阵的特征值和条件数(Condition Number),条件数较大(如大于30)表明存在多重共线性。
3、相关矩阵:检查自变量之间的相关系数矩阵,相关系数接近1或-1表示存在较强的线性关系。
Stata计算各自变量VIF的命令(在回归结束后使用):estat vif
解决多重共线性的方法:
1、删除相关性高的变量:从模型中移除那些高度相关的自变量。
2、主成分分析(PCA):通过主成分分析将原始自变量转换为新的不相关变量。
3、岭回归(Ridge Regression):通过引入惩罚项来减小系数估计的方差,从而缓解多重共线性。
4、增加样本量:在某些情况下,增加样本量可以减轻多重共线性的影响。
10、逐步回归分析
1、向前逐步回归(Forward Selection):从无变量的空模型开始,每一步选择一个最显著的变量加入模型,直到加入任何变量都不显著为止。
2、向后逐步回归(Backward Elimination):从包含所有自变量的全模型开始,每一步删除一个最不显著的变量,直到所有剩余变量都显著为止。(推荐)
3、双向逐步回归(Stepwise Selection):结合前向选择和后向消除的方法,每一步既可以加入最显著的变量,也可以删除最不显著的变量,直到模型中的所有变量都显著且无法再加入或删除变量为止。
Stata实现逐步回归法
1、向前逐步回归Forward selection:stepwise regress y x1 x2 … xk, pe(#1)
pe(#1) specifies the significance level for addition to the model; terms with p<#1 areeligible for addition(显著才加入模型中)
2、向后逐步回归Backward elimination:stepwise regress y x1 x2 … xk, pr(#2)
pr(#2) specifies the significance level for removal from the model; terms with p>= #2are eligible for removal(不显著就剔除出模型)
如果你觉得筛选后的变量仍很多,你可以减小#1或者#2;如果你觉得筛选后的变量太少了,你可以增加#1或者#2
注:
(1)x1 x2 … xk之间不能有完全多重共线性(否则会报错,和regress不同)
(2)可以在后面再加参数b和r,即标准化回归系数或稳健标准误
优点:
1、自动化:逐步回归自动选择变量,减少了人为干预。
2、简化模型:通过逐步选择,最终模型可能比全模型更简洁,解释性更强。
缺点:
1、局部最优:逐步回归可能陷入局部最优解,而非全局最优解。
2、忽略多重共线性:逐步回归可能无法有效处理多重共线性问题。
3、数据依赖性强:结果可能对数据的变化非常敏感。
分类模型(含逻辑回归)
一、逻辑回归
SPSS生成虚拟变量:标题栏:转换-创建虚拟变量
对于因变量为分类变量的情况,我们可以使用逻辑回归进行处理
把y看成事件发生的概率,y≥0.5表示发生;y<0.5表示不发生
1、线性概率模型
线性概率模型(Linear Probability Model,简记LPM)
很明显有问题:
1、内生性问题:
显然
2、预测值可能出现>1或<0的不现实的情况
对于第二个问题,我们可以用极大似然估计,给他输入到激活函数里边儿去,这里我们用sigmoid函数
SPSS求解逻辑回归:标题栏:分析-回归-二元,如果有分类变量,先要点分类去生成虚拟变量,后保存-勾选概率和组成员,最后确定
加入平方项、交叉项:标题栏:转换-计算变量
但是加入的高次项太多了会过拟合,可以看到参数的显著性降低了
确定合适的模型:将数据集分为训练集和验证集
为了消除偶然性的影响,可以对上述步骤多重复几次,最终对每个模型求一个平均的准确率,这个步骤称为交叉验证
2、Fisher线性判别分析
Fisher 线性判别分析(Fisher’s Linear Discriminant Analysis, LDA)是一种用于模式识别和统计学的线性判别方法。它的主要目标是通过找到一个投影方向,使得不同类别的数据在该方向上尽可能分开,同时同类别的数据尽可能紧密
LDA 的基本思想是找到一个投影向量
类内散布矩阵
$$
\mathbf{S}w = \sum{i \in \mathcal{C}_1} (\mathbf{x}_i - \mathbf{m}_1)(\mathbf{x}_i - \mathbf{m}1)^T + \sum{i \in \mathcal{C}_2} (\mathbf{x}_i - \mathbf{m}_2)(\mathbf{x}_i - \mathbf{m}_2)^T
$$
类间散布矩阵
Fisher 判别准则通过最大化以下目标函数来找到投影向量
这个目标函数的物理意义是使得类间散布尽可能大,而类内散布尽可能小
通过求解上述目标函数的最大化问题,可以得到最优投影向量
应用:
1、降维:LDA 可以用于数据降维,将高维数据投影到低维空间,同时保持分类信息。
2、分类:LDA 可以作为分类器,特别是对于线性可分的数据集效果较好。
SPSS进行Fisher线性判别分析:标题栏:分析-分类-判别式,分组变量就是y,定义范围从0到1,统计-将函数系数都勾选上,分类-勾选摘要表,保存-将第一个和第三个勾上,判别得分不管,确定,典则判别函数系数就是线性系数向量
以上是二分类,如果是多分类,更改定义范围即可
Logistic回归也可用于多分类,将连接函数从Sigmoid函数推广为Softmax函数即可
聚类模型
聚类(Clustering)是一种无监督学习技术,用于将数据集中的样本分成多个组或簇,使得同一簇内的样本在某种意义上更加相似,而不同簇之间的样本差异较大
一、K-means聚类算法
K-Means 聚类算法是一种简单且广泛使用的无监督学习算法,用于将数据集分成
K-Means聚类算法的步骤:
1、选择
2、分配每个数据点到最近的质心:对于每个数据点
3、更新质心:重新计算每个簇的质心,即计算每个簇内所有数据点的平均值。
4、重复步骤 2 和 3:直到质心不再发生变化,或者达到预定的迭代次数。
算法的数学描述:
1、初始化:选择
2、簇分配:对于每个数据点
将
3、质心更新:对于每个簇
4、迭代:重复簇分配和质心更新步骤,直到质心不再变化或达到最大迭代次数。
优点:
1、算法简单、快速。
2、对处理大数据集,该算法是相对高效率的。
缺点:
1、要求用户必须事先给出要生成的簇的数目K。
2、对初值敏感。
3、对于孤立点数据敏感。
K-means++算法可解决2和3这两个缺点
二、K-Means++ 初始化
K-Means++ 是一种改进的初始化方法,可以有效避免质心初始选择不当的问题,从而提高 K-Means 算法的收敛速度和效果。
K-Means++ 的初始化步骤如下:
- 随机选择一个数据点作为第一个质心。
- 对于每个数据点
,计算其到最近质心的距离 。 - 选择下一个质心的概率与
成正比。 - 重复步骤 2 和 3,直到选择了
个质心。
SPSS使用K-Means++:标题栏:分析-分类-K-均值聚类,保存-两个都勾选上,选项-勾选第一个和第三个,确定
K-means算法的一些讨论:
1、聚类的个数K值怎么定?
答:分几类主要取决于个人的经验与感觉,通常的做法是多尝试几个K值,
看分成几类的结果更好解释,更符合分析目的等。
2、数据的量纲不一致怎么办?
答:如果数据的量纲不一样,那么算距离时就没有意义。例如:如果X1
单位是米,X2单位是吨,用距离公式计算就会出现“米的平方”加上“吨的平方”
再开平方,最后算出的东西没有数学意义,这就有问题了。
标准化:先减去均值再除以标准差(z标准化)
SPSS进行标准化:标题栏:分析-描述统计-描述-勾选将标准化另存为变量
三、系统(层次)聚类
系统(层次)聚类是一种无监督学习方法,用于将数据集分层次地进行聚类。它不需要预先指定簇的数量,而是通过构建层次树(dendrogram)来表示数据的聚类过程。系统聚类分为两种主要方法:自底向上(凝聚层次聚类)和自顶向下(分裂层次聚类)。
凝聚层次聚类(自底向上)
1、初始化:每个数据点作为一个单独的簇。
2、计算距离:计算所有簇之间的距离。
3、合并最近的簇:找到距离最近的两个簇,并将它们合并成一个新的簇。
4、更新距离矩阵:重新计算新簇与其他所有簇之间的距离。
5、重复步骤 3 和 4:直到所有数据点被合并成一个簇。
分裂层次聚类(自顶向下)
1、初始化:将所有数据点作为一个单独的簇。
2、分裂簇:选择一个簇并将其分裂成两个簇。
3、更新距离矩阵:重新计算新簇与其他所有簇之间的距离。
4、重复步骤 2 和 3:直到每个数据点成为一个单独的簇。
在系统聚类中,有多种方法可以用来计算簇之间的距离:
1、最短距离(单链接法):
2、最长距离(全链接法):
3、平均距离(均值链接法):
4、质心距离(中心链接法):
其中
优点:
1、不需要预先指定簇的数量。
2、可以生成层次树,提供数据的多尺度表示。
3、对噪声和离群点不敏感。
缺点:
1、计算复杂度高,尤其是对大规模数据集。
2、合并或分裂步骤一旦做出,就无法回退。
3、对不同的距离度量方法敏感。
SPSS进行系统聚类:标题栏:分析-分类-系统聚类,图-勾选谱系图,方法-标准化,量纲不同需选择z标准化,保存-可选择分类数目
肘部法则(Elbow Method)是一种用于确定最优聚类数量的方法,常用于 K-Means 聚类算法。其原理是通过计算不同聚类数量下的总平方误差(SSE),并绘制 SSE 与聚类数量的关系图,寻找图中 SSE 下降明显减缓的位置(即“肘部”),从而确定最优的聚类数量。
总平方误差(SSE)定义为所有数据点到其最近质心的距离的平方和。公式如下:
其中:
是聚类数量 是第 个簇 是第 个簇的质心 是数据点
肘部法则的步骤:
1、选择一系列聚类数量
2、计算每个
3、绘制 SSE 与
4、寻找“肘部”:在图中寻找 SSE 下降明显减缓的位置,这个位置对应的
将系数那一列复制到excel,降序排列,标题栏:插入-推荐的图标-散点图
SPSS对类别分类画图:标题栏:图形-图标构建器-图库-散点图,组/点ID-点ID标签
四、DBSCAN
DBSCAN(Density-Based Spatial Clustering of Applications with Noise)是一种基于密度的聚类算法,能够发现任意形状的簇,并能够识别噪声点。它通过密度的概念来定义簇,主要依赖于两个参数:ε
(epsilon)和 minPts
。
DBSCAN 的基本概念
1、核心点(Core Point):如果一个点的 ε 邻域内包含至少 minPts
个点,那么这个点是核心点。
2、边界点(Border Point):如果一个点的 ε 邻域内包含的点少于 minPts
个,但它是某个核心点的邻域内的点,那么这个点是边界点。
3、噪声点(Noise Point):如果一个点既不是核心点,也不是边界点,那么这个点是噪声点。
DBSCAN 的步骤
1、初始化:随机选择一个未访问的点。
2、检查邻域:如果该点的 ε 邻域内的点数大于等于 minPts
,则将其标记为核心点并创建一个新簇。否则,将其标记为噪声点。
3、扩展簇:对于每个核心点,将其 ε 邻域内的所有点添加到簇中。对于邻域内的每个核心点,重复步骤 2 和 3。
3、重复:直到所有点都被访问过。
优点:
1、能够发现任意形状的簇。
2、对噪声有较好的鲁棒性。
3、不需要预先指定簇的数量。
缺点:
1、对参数 ε
和 minPts
的选择较为敏感。
2、在高维数据中效果不佳。
主成分分析
主成分分析(Principal Component Analysis,PCA)是一种广泛使用的数据降维技术,主要用于减少数据集的维度,同时尽量保留数据的主要信息。以下是PCA的基本步骤和原理:
基本步骤:
1、数据标准:对数据进行标准化处理,使得每个特征具有相同的尺度。这通常通过减去均值并除以标准差来实现。
2、计算协方差矩阵:计算标准化数据的协方差矩阵,以了解特征之间的相关性。
3、特征值分解:对协方差矩阵进行特征值分解,得到特征值和特征向量。特征向量代表了新的特征空间的方向,特征值指示了这些方向上的方差大小。
4、选择主成分:按照特征值的大小排序,选择前
5、转换数据:将原始数据投影到新的特征空间上,从而得到降维后的数据。
假设我们有一个
1、对数据进行标准化处理
计算均值 $\bar x_i=\dfrac{1}{n}\sum^{n}{i=1}x{ij}
2、计算标准化样本的协方差矩阵
其中
(注意:上面1、2两步可直接合并为一步:直接计算
3、计算
特征值:
(
特征向量:
软件都会帮我们算好,不用自己算,Matlab 中计算特征值和特征向量的函数:eig(R)
4、计算主成分贡献率以及累计贡献率
贡献率:
累计贡献率:
5、写出主成分
一般取累计贡献率超过80%的特征值所对应的第一、第二、…、第
第
6、根据系数分析主成分代表的意义
对于某个主成分而言,指标前面的系数越大,代表该指标对于该主成分的影响越大。
7、利用主成分的结果进行后续的分析:
- 主成分得分:可用于评价类模型吗?(千万别用!!!)
- 主成分可用于聚类分析(方便图绘)
- 主成分可用于回归分析
因子分析
一、因子分析的原理
假设
因子分析的一般模型为:
其中
公共因子
上面这个公式我们用矩阵形式可以写为:
其中
要进行因子分析,必须要解出矩阵
二、因子分析模型的假设
对于
假设
其中
公因子彼此不相关,且具有单位方差;特殊因子彼此不相关且与公因子也不相关
三、因子模型的性质
1、
假设
则
2、因子载荷不唯一
令
$$
x = u + A^f^ + \epsilon
$$
因为假设仍然成立:
$$
\begin{cases}E(f^) = 0 \ E(\epsilon) = 0 \ Var(f^) = T’T = I \ Var(\epsilon) = D = \text{diag}(\sigma_1^2, \sigma_2^2, \cdots, \sigma_p^2) \ cov(f^, \epsilon) = E(f^\epsilon’) = T’E(f\epsilon’) = 0\end{cases}
$$
正是因为因子载荷矩阵
这就是因子分析往往比主成分分析的结果更容易解释的原因
四、因子载荷矩阵的统计意义
1、
如果
2、
可以证明:
3、
可以证明:
从上述的推导中可以看出,
五、参数估计
为了建立因子模型,我们需要估计出因子载荷矩阵 $$ A_{p \times m} = (a_{ij})
SPSS 中提供的方法有主成分法、未加权的最小平方方法、综合最小平方方法、最大似然法、主轴因子法、Alpha 因式分解法和映像因子法
具体选择哪种没有严格的规定,在实际操作中大家可以选择方便最后解释的。论文中最常用主成分法、最大似然法和主轴因子法
六、因子旋转的方法
得到因子模型后,其中的公共因子不一定能反映问题的实质特征,为了能更好地解释每一个公共因子的实际意义,且减少解释的主观性,可以通过因子旋转达到目的
因子旋转分为正交旋转与斜交旋转,经过正交旋转而得到的新的公共因子仍然保持彼此独立的性质,而斜交旋转得到的公共因子是相关的(违背了最初的假定,因此可以看作传统因子分析的拓展),其实际意义更容易解释。但不论是正交旋转还是斜交旋转,都应当使新公共因子的载荷系数的绝对值尽可能接近0或1(这里默认了我们从相关系数矩阵进行计算)
在论文中,使用最多的就是最大方差法
七、因子得分
因子分析是将变量表示为公共因子和特殊因子的线性组合;此外,我们可以反过来将公共因子表示为原变量的线性组合,即可得到因子得分
第
注意:我们计算出因子得分函数的系数后,就能够求出所有的因子得分
论文中最常用安德森—鲁宾因子得分法 Anderson-Rudin方法
八、具体操作
SPSS进行因子分析:标题栏:因子-降维-因子,描述-统计全勾选,显著性水平勾选,KMO检验和巴特利特球形检验勾选
统计:
•单变量描述:输出参与分析的每个原始变量的均值、标准差和有效取值个数
•初始解:输出未经过旋转直接计算得到的初始公因子、初始特征值和初始方差贡献率等信息
相关性矩阵:
•系数:输出初始分析变量间的相关系数矩阵
•显著性水平:输出每个相关系数对于单侧假设检验的显著性水平
•决定因子:输出相关系数矩阵的行列式
•逆:输出相关系数的逆矩阵
•再生:输出因子分析后的相关矩阵,还给出原始相关与再生相关之间的差值,即残差
•反映像:输出反映像相关矩阵,包括偏相关系数的负数
•KMO检验和巴特利特球形检验:进行因子分析前要对数据进行KMO检验和巴特利特球形检验
KMO检验:
KMO检验是Kaiser, Meyer和Olkin提出的,该检验是对原始变量之间的简单相关系数和偏相关系数的相对大小进行检验,主要应用于多元统计的因子分析。KMO统计量是取值在0和1之间,当所有变量间的简单相关系数平方和远远大于偏相关系数平方和时,KMO值越接近于1,意味着变量间的相关性越强,原有变量越适合作因子分析;当所有变量间的简单相关系数平方和接近0时,KMO值越接近于0,意味着变量间的相关性越弱,原有变量越不适合作因子分析。其中,Kaiser给出一个KMO检验标准:KMO>0.9,非常适合;
巴特利特球形检验:
巴特利特球形检验是一种检验各个变量之间相关性程度的检验方法。一般在做因子分析之前都要进行巴特利特球形检验,用于判断变量是否适合用于做因子分析。巴特利特球形检验是以变量的相关系数矩阵为出发点的。它的原假设是相关系数矩阵是一个单位阵(不适合做因子分析,指标之间的相关性太差,不适合降维),即相关系数矩阵对角线上的所有元素都是1,所有非对角线上的元素都为0。巴特利特球形检验的统计量是根据相关系数矩阵的行列式得到的。如果该值较大,且其对应的p值小于用户心中的显著性水平(一般为0.05),那么应该拒绝原假设,认为相关系数不可能是单位阵,即原始变量之间存在相关性,适合于作因子分析。相反不适合作因子分析
注意:用SPSS做因子分析时,在查看器中若得不到KMO检验和Bartlett检验结果,则说明你的样本量小于指标数了,需要增加样本量或者减少指标个数再来进行因子分析
和主成分分析一样,我们可以用因子得分f1和f2作为两个新的变量,来进行后续的建模(例如聚类、回归等)
注意:因子分析模型不能用于综合评价,尽管有很多论文是这样写的,但这是存在很大的问题的。例如变量的类型、选择因子的方法、旋转对最终的影响都是很难说清的
岭回归和Lasso回归
一、岭回归
1、岭回归的原理
线性回归:
岭回归:
记:
显然:当
另外:
由于
所以:
2、正则化参数的选择
法1:岭迹法
1、各回归系数的岭估计基本稳定:随着
2、用最小二乘估计时符号不合理的回归系数,其岭估计的符号变得合理:当使用最小二乘法估计时,如果某些回归系数的符号不符合预期(例如,经济意义上的正负关系),那么在岭回归中,选择适当的
3、回归系数没有不合理的绝对值:回归系数的绝对值应当在经济意义上是合理的,不应过大或过小
4、残差平方和增加不太多:虽然引入
图中展示了不同回归系数
法2:VIF法(方差膨胀因子)
当某些变量的 VIF > 10,存在多重共线性。因此,我们可以从不断增加
法3:最小化均方预测误差
我们使用 K 折交叉验证的方法来选择最佳的调整参数。所谓的 K 折交叉验证,是说将样本数据随机分为 K 个等分。将第 1 个子样本作为“验证集”(validation set)而保留不用,而使用其余 K-1 个子样本作为“训练集”(training set)来估计此模型,再以此预测第 1 个子样本,并计算第 1 个子样本的“均方预测误差”(Mean Squared Prediction Error)。其次,将第 2 个子样本作为验证集,而使用其余 K-1 个子样本作为训练集来预测第 2 个子样本,并计算第 2 个子样本的 MSPE。以此类推,将所有子样本的 MSPE 加总,即可得整个样本的 MSPE。最后,选择调整参数,使得整个样本的 MSPE 最小,故具有最好的预测能力
二、Lasso回归
线性回归:
岭回归:
Lasso 回归:(Least Absolute Shrinkage and Selection Operator)
Lasso 回归模型由 Robert Tibshirani 于 1996 年提出,目标是通过将不重要的变量回归系数压缩至 0,最终得到一个稀疏模型。相比于岭回归,Lasso 回归不仅能缩小系数的大小,还能将一些系数压缩为 0,从而实现变量选择。最终的模型保留了较少的变量
缺点无显式解,只能使用近似算法(坐标轴下降法和最小角回归法)
cvlasso 单产 种子费 化肥费 农药费 机械费 灌溉费, lopt seed(520)
其中,选择项“lopt” 表示选择使MSPE 最小的λ,选择项“seed(520)” 表示将随机数种子设为520(可自行设定),以便结果具有可重复性;默认K=10(即10 折交叉验证)。
何时使用lasso回归?
我们首先使用最一般的OLS对数据进行回归,然后计算方差膨胀因子VIF,如果VIF>10则说明存在多重共线性的问题,此时我们需要对变量进行筛选。
可以把lasso回归视为逐步回归法的进阶版,我们可以使用lasso回归来帮我们筛选出不重要的变量,步骤如下:(1)判断自变量的量纲是否一样,如果不一样则首先进行标准化的预处理;(2)对变量使用lasso回归,记录下lasso回归结果表中回归系数不为0的变量,这些变量就是最终我们要留下来的重要变量,其余未出现在表中的变量可视为引起多重共线性的不重要变量。
在得到了重要变量后,我们实际上就完成了变量筛选,此时我们只将这些重要变量视为自变量,然后进行回归,并分析回归结果即可。(注意:此时的变量可以是标准化前的,也可以是标准化后的,因为lasso只起到变量筛选的目的)
灰色关联度分析
灰色关联度分析是一种用于分析系统中各因素之间关联程度的统计方法,特别适用于数据不完全或系统信息不确定的情况下。该方法基于灰色系统理论,由中国学者邓聚龙在20世纪80年代提出,广泛应用于经济、社会、环境等领域
灰色关联分析的基本思想是根据序列曲线几何形状的相似程度来判断其联系是否紧密。曲线越接近,相应序列之间的关联度就越大,反之就越小。
一、进行系统分析
1、画统计图(excel画)
2、确定分析数列
母序列(又称参考数列、母指标):能反映系统行为特征的数据序列
→ 类似于因变量
子序列(又称比较数列、子指标):影响系统行为的因素组成的数据序列
→ 类似于自变量
3、对数据进行预处理
两个目的:去量纲,弱化变量间量化差异
对母序列和子序列中的每个指标进行数据处理:先求出每个指标的均值,再用该指标中的每个元素都除以其均值
4、计算子序列中各个指标与母序列的关联系数
定义两极最小差
和两极最大差
其中
而关联系数定义为:
其中,
5、定义灰色关联度
定义
6、得出结论
7、讨论:
什么时候用标准化回归,什么时候用灰色关联分析?
当样本量较大较全时,一般使用标准化回归分析;当样本量较小时,才使用灰色关联分析。
如果母序列中有多个指标,应该怎么分析?
例如:
那么就首先计算
二、进行综合评价
1、对指标进行正向化(与Topsis相同)
2、对正向化后的矩阵进行预处理,得到矩阵
3、将预处理后的矩阵每一行取出最大值构成母序列(虚拟的)
4、计算各指标与母序列的灰色关联度:
5、计算各指标的权重:
6、第k个评价对象的得分:
7、对得分进行归一化:
时间序列分析
时间序列也称动态序列,是指将某种现象的指标数值按照时间顺序排列而成的数值序列。时间序列分析大致可分成三大部分,分别是描述过去、分析规律和预测未来
一、基础知识
时间序列数据:对同一对象在不同时间连续观察所取得的数据
时间序列由两个组成要素构成:
1、第一个要素是时间要素;
年、季度、月、周、日、小时、分钟、秒
2、第二个要素是数值要素。
时间序列根据时间和数值性质的不同,可以分为时期时间序列和时点时间序列
时期序列中,数值要素反映现象在一定时期内发展的结果;
时点序列中,数值要素反映现象在一定时点上的瞬间水平。
时期序列可加,时点序列不可加
时期序列中的观测值反映现象在一段时期内发展过程的总量,不同时期的观测值可以相加,相加结果表明现象在更长一段时间内的活动总量; 而时点序列中的观测值反映现象在某一瞬间上所达到的水平,不同时期的观测值不能相加,相加结果没有实际意义
这个好理解,毕竟时期序列自带时点数据相减的差的含义
二、时间序列分解
因为时间序列是某个指标数值长期变化的数值表现,所以时间序列数值变化背后必然蕴含着数值变换的规律性,这些规律性就是时间序列分析的切入点
一般情况下,时间序列的数值变化规律有以下四种:
- 长期变动趋势
- 季节变动规律
- 周期变动规律
- 不规则变动(随机扰动项)
一个时间序列往往是以上四类变化形式的叠加
长期趋势:T
长期趋势(Secular trend,T)指的是统计指标在相当长的一段时间内,受到长期趋势影响因素的影响,表现出持续上升或持续下降的趋势,通常用字母T表示。例如,随着国家经济的发展,人均收入将逐渐提升;随着医学水平的提高,新生儿死亡率在不断下降
季节趋势:S
季节趋势(Seasonal Variation,S)是指由于季节的转变使得指标数值发生周期性变动。这里的季节是广义的,一般以月、季、周为时间单位,不能以年作单位。例如雪糕和棉衣的销量都会随着季节气温的变化而周期变化;每年的长假(五一、十一、春节)都会引起出行人数的大量增加。
循环变动:C
循环变动(CyclicalVariation,C)与季节变动的周期不同,循环变动通常以若干年为周期,在曲线图上表现为波浪式的周期变动。这种周期变动的特征表现为增加和减少交替出现,但是并不具严格规则的周期性连续变动。最典型的周期案例就是市场经济的商业周期和的整个国家的经济周期。
不规则变动:I
不规则变动(IrregularVariation,I)是由某些随机因素导致的数值变化,这些因素的作用是不可预知和没有规律性的,可以视为由于众多偶然因素对时间序列造成的影响(在回归中又被称为扰动项)。
四种变动与指标数值最终变动的关系可能是叠加关系,也可能是乘积关系
1、如果四种变动之间是相互独立的关系,可以用叠加模型:
2、如果四种变动之间存在相互影响关系,可以用乘积模型:
变量解释:
:指标数值的最终变动; :长期趋势变动; :季节变动; :循环变动; :不规则变动。
注释:
- 数据具有年内的周期性才能使用时间序列分解,例如数据是月份数据(周期为12)、季度数据(周期为4),如果是年份数据则不行。
- 在具体的时间序列图上,如果随着时间的推移,序列的季节波动变得越来越大,则反映各种变动之间的关系发生变化,建议使用乘积模型;反之,如果时间序列图的波动保持恒定,则可以直接使用叠加模型。当然,如果不存在季节波动,则两种分解均可以。
三、SPSS处理
SPSS处理缺失值:标题栏-转换-替换缺失值,方法如下
序列平均值:用整个序列的平均数代替缺失值
临近点的平均值:用相邻若干个点的平均数来替换缺失值(默认为两个点)
临近点的中位数:用相邻若干个点的中位数来替换缺失值(默认为两个点)
线性插值:用相邻两个点的平均数来替换缺失值
邻近点的线性趋势:将时期数作为x,时间序列值作为y进行回归,求缺失点的预测值
SPSS定义时间变量:标题栏-数据-定义日期和时间
SPSS画时间序列图(时序图):标题栏:分析-时间序列预测-序列图
SPSS进行季节性分解:标题栏:分析-时间序列预测-季节性分析,权重:奇数周期所有点相等,偶数周期按0.5加权,确定
ERR_1 | 数字 | 11 | 5 | 不规则变动(残差或误差值) |
SAS_1 | 数字 | 11 | 5 | 季节性调整后系列(T+C+I) |
SAF_1 | 数字 | 11 | 5 | 季节性调整因子(S) |
STC_1 | 数字 | 11 | 5 | 趋势循环成分(T+C) |
如果用加法模型,则四个季节性因子的和为0;如果用乘法模型,则四个季节性因子的积为1;解释都是“与全年平均水平相比”
画出分解后的时序图:标题栏:分析-时间序列预测-序列图
四、时间序列分析
时间序列分析的具体步骤:
1、作时间序列图;
2、判断时间序列包含的变动成分;
3、时间序列分解(有周期性(周期<1年)且包含长期趋势、季节变动或循环变动);
4、建立时间序列分析模型;
5、预测未来的指标数值。
我们利用SPSS自带的专家建模器,其提供模型有两类,一类是指数平滑模型,另外一类是ARIMA模型
五、指数平滑模型
1、Simple模型
名称 | 适用条件 | 与之类似的ARIMA模型 |
---|---|---|
简单指数平滑法 | 不含趋势和季节成分 | ARIMA(0,1,1) |
设
例如:当
显然,每一期平滑后的数据都是由过去的数据加权求和而得,越接近当期的数据,其权重越大。这说明距离当期越接近的数据,对当期的影响也越大;反之,越早期的数据,对当期影响越小
关于平滑系数
1、如果时间序列具有不规则的起伏变化,但长期趋势接近一个稳定常数,
2、如果时间序列具有迅速明显的变化倾向,则
3、如果时间序列变化缓慢,亦应选较小的值(一般在 0.1-0.4 之间)
实际上,SPSS 的专家建议如果选择了 Simple 模型用来估计,那么软件会帮我们自动选取一个适合的平滑系数使得预测效果更好
2、线性趋势模型 (linear trend)
名称 | 适用条件 | 与之类似的 ARIMA 模型 |
---|---|---|
霍特线性趋势模型 | 线性趋势、不含季节成分 | ARIMA (0,2,2) |
Holt 在 1957 年把简单的指数平滑模型进行了延伸,能够预测包含趋势的数据。该方法包含一个预测方程和两个平滑方程(一个用于水平,另一个用于趋势):
:当前期; :预测超前期数,也称之为预测步长; :第 期的实际观测值; :时刻 的预测水平; :时刻 的预测趋势(或坡度); :水平的平滑参数; :趋势的平滑参数。
布朗 (Brown) 线性趋势模型:
假定
3、阻尼趋势模型 (Damped trend)
名称 | 适用条件 | 与之类似的 ARIMA 模型 |
---|---|---|
阻尼趋势模型 | 线性趋势逐渐减弱且不含季节成分 | ARIMA (1,1,2) |
实验表明,Holt 的线性趋势模型倾向于对未来预测值过高,特别是对于长期预测。Gardner 和 McKenzie (1985) 在霍特的模型基础上引入了一种阻尼效应,用来缓解较高的线性趋势
:水平的平滑参数 :趋势的平滑参数 :阻尼参数( )
如果
对于在 0 到 1 的值,
4、简单季节性 (Simple seasonal)
名称 | 适用条件 | 与之类似的 ARIMA 模型 |
---|---|---|
简单季节性 | 含有稳定的季节成分,不含趋势 | SARIMA (0,1,1) × (0,1,1)_s |
$$
\begin{cases}l_t = \alpha (x_t - s_{t-m}) + (1 - \alpha) l_{t-1} & \text{(水平平滑方程)} \ s_t = \gamma (x_t - l_{t-1}) + (1 - \gamma) s_{t-m} & \text{(季节平滑方程)} \ \hat{x}{t+h} = l_t + s{t+h-m(k+1)}, \quad k = \left[ \frac{h-1}{m} \right] & \text{(预测方程)}\end{cases}
$$
:周期长度(月度数据取 12,季度数据取 4) :水平的平滑参数 :季节的平滑参数 :预测超前期数 :第 期的预测值
5、温特加法模型 (Winters’ additive)
名称 | 适用条件 | 与之类似的 ARIMA 模型 |
---|---|---|
温特加法模型 | 含有线性趋势和稳定的季节成分 | SARIMA (0,1,0) × (0,1,1)_s |
Holt (1957) and Winters (1960) extended Holt’s method to capture seasonality.
$$
\begin{cases}l_t = \alpha (x_t - s_{t-m}) + (1 - \alpha) (l_{t-1} + b_{t-1}) & \text{(水平平滑方程)} \ b_t = \beta (l_t - l_{t-1}) + (1 - \beta) b_{t-1} & \text{(趋势平滑方程)} \ s_t = \gamma (x_t - l_{t-1} - b_{t-1}) + (1 - \gamma) s_{t-m} & \text{(季节平滑方程)} \ \hat{x}{t+h} = l_t + h b_t + s{t+h-m(k+1)}, \quad k = \left[ \frac{h-1}{m} \right] & \text{(预测方程)}\end{cases}
$$
:周期长度(月度数据取 12,季度数据取 4) :水平的平滑参数 :趋势的平滑参数 :季节的平滑参数 :第 期的预测值
6、温特乘法模型 (Winters’ multiplicative)
名称 | 适用条件 | 与之类似的 ARIMA 模型 |
---|---|---|
温特乘法模型 | 含有线性趋势和不稳定的季节成分 | 不存在 |
$$
\begin{cases}l_t = \alpha \frac{x_t}{s_{t-m}} + (1 - \alpha) (l_{t-1} + b_{t-1}) & \text{(水平平滑方程)} \ b_t = \beta (l_t - l_{t-1}) + (1 - \beta) b_{t-1} & \text{(趋势平滑方程)} \ s_t = \gamma \frac{x_t}{l_{t-1} + b_{t-1}} + (1 - \gamma) s_{t-m} & \text{(季节平滑方程)} \ \hat{x}{t+h} = (l_t + h b_t) s{t+h-m(k+1)}, \quad k = \left[ \frac{h-1}{m} \right] & \text{(预测方程)}\end{cases}
$$
:周期长度(月度数据取 12,季度数据取 4) :水平的平滑参数 :趋势的平滑参数 :季节的平滑参数 :第 期的预测值
六、一元时间序列分析的模型
1、时间序列的平稳性 (stationary series)
若时间序列
(均值固定常数) (方差存在且为常数) (协方差只和间隔 s 有关,与 t 无关)
则称
如果对于任意的
注意:严格平稳要求太高,因此在时间序列中提到的平稳没有特殊说明默认认为弱平稳。
若时间序列
(方差存在且为常数) (s ≠ 0)
则称
2、差分方程
将某个时间序列变量表示为该变量的滞后项、时间和其他变量的函数,这样的一个函数方程被称为 差分方程。
注:
差分方程的齐次部分:只包含该变量自身和它的滞后项的式子
齐次部分:
将齐次部分转换为特征方程(代数方程):令
特征方程是一个
注:这个
3、滞后算子
用符号
(部分教材也用
且有如下的性质:
( 为常数)
1、ARMA(p,q) 模型:
2、一阶差分:
二阶差分:
d 阶差分:
季节差分(
4、AR(p)模型 (auto regressive)
(自回归:将自己的 1 至
自回归的应用:自回归只能适用于预测与自身前期相关的经济现象,即受自身历史因素影响较大的经济现象,如矿的开采量、各种自然资源量等。对于受社会因素影响较大的经济现象,不宜采用自回归,而应使用可纳入其他变量的自回归模型(多元时间序列)
注意:我们讨论的 AR(
AR(p)模型平稳的条件:
将方程转换为特征方程(代数方程):令
特征方程是一个
注:这个
- 如果这些解的模长都小于 1,则
为平稳序列。 - 如果其中一个解的模长等于 1,则
为单位根序列。 - 如果其中一个解的模长大于 1,则
为非平稳序列。
例:AR(1):
AR(3)模型:
齐次部分对应的特征方程:
解得:
求模长:
所以
下面进行一阶差分变形:
齐次方程对应的特征方程:
解得:
对于 AR(
为单位根的充分条件: 平稳的充分条件: 平稳的必要条件:
5、MA(q)模型 (moving average)
可以证明:只要q是常数,那么MA(q)模型一定是平稳的
MA模型和AR模型的关系
MA(1)模型:
将上面式子使用滞后算子的写法:
因为:
所以:
则:
所以:
从上面的计算步骤可以看出:我们可以将 1 阶移动平均模型转换为无穷阶的自回归模型,这一性质称为移动平均模型的可逆性;类似的,我们在某些条件下(可逆性条件)也可以将 MA(
一般地,任何经济变量的时间序列均可以用自回归过程来描述。但在模型分析的实践中,为简化估计参数的工作量,我们希望模型当中的参数尽可能地少。于是便有了引进移动平均过程 MA(
6、ARMA(p, q) 模型
自回归移动平均模型 (Autoregressive Moving Average, ARMA),就是设法将自回归过程 AR 和移动平均过程 MA 结合起来,共同模拟产生既有时间序列样本数据的那个随机过程的模型。
ARMA(p, q) 模型定义:
进一步展开为:
其中:
表示自回归项 表示移动平均项
7、ACF自相关系数
我们探讨的时间序列假定是平稳的:
相关系数:X和Y是两个随机变量,则
自相关系数 (autocorrelation):时间序列的t时刻的观测值与t+k时刻的观测值之间的相关系数称为k阶自相关系数:
记
如果我们将k阶自相关系数,顺序排列起来就得到自相关函数 (autocorrelation function),其数值依赖于k阶的自相关图 (correlogram)。自相关系数反映了序列中相隔k期的变量之间的相关程度。自相关系数的取值范围是[-1, 1]。自相关系数越接近1或-1,说明变量之间的线性关系越强,越接近0,说明线性关系越弱。
样本自相关系数为:
注意:如果
$$
r_k = \left{
$$
注意:如果
注意:ACF和接下来要介绍的PACF使用的前提是数据为平稳序列。
PACF偏自相关函数
8、PACF偏自相关系数
偏自相关系数用于描述时间序列中两个时刻之间的线性相关性,排除掉其他中间时刻的影响。反映的是
设
其中:
是 与 之间的线性关系系数,通过引入这些系数,可以排除 和 之间中间时刻的影响,使得 表示的是 与 之间直接的线性关系,也就是偏自相关系数。 是不可预测的误差项。
一般情况下,如果我们对
9、ARMA模型的识别
模型 | ACF | PACF |
---|---|---|
AR(p) | 逐渐衰减,即拖尾 | p阶后截尾 |
MA(q) | q阶后截尾 | 逐渐衰减,即拖尾 |
ARMA(p,q) | 逐渐衰减,即拖尾 | 逐渐衰减,即拖尾 |
正确识别ARMA模型的阶数太难了
10、模型选择:AIC和BIC准则(择小原则)
在拟合问题中,加入的参数较多时,模型拟合的效果较好,但这会把模型搞得过于复杂,导致泛化能力较差。为了平衡模型的拟合效果和复杂度,可以使用信息准则(Information Criterion)来进行模型选择。
赤池信息准则(Akaike Information Criterion,AIC)
其中,
贝叶斯信息准则(Bayesian Information Criterion,BIC)
其中,
样本个数
AIC和BIC准则的值越小越好。一般来说,AIC倾向于选择复杂模型,而BIC倾向于选择简单模型。
11、检验模型是否识别完全
估计完成时间序列模型后,我们需要对残差进行白噪声检验。如果残差是白噪声,则说明我们选取的模型能完全识别出时间序列数据的规律,即模型可接受;如果残差不是白噪声,则说明有部分信息没有被模型所识别,我们需要修正模型来识别这一部分的信息。
注意:如果
样本自相关系数: $r_s = \hat{\rho}s = \dfrac{\sum{t=s+1}^{T} (x_t - \bar{x})(x_{t-s} - \bar{x})}{\sum_{t=1}^{T} (x_t - \bar{x})^2}$
Ljung and Box 在1978年提出的Q检验能帮助我们检验残差是否为白噪声:
在
软件会给我们算出
注:
表示样本个数, 表示模型中未知参数的个数(例如ARMA(p, q)模型中, ) 根据样本量的大小一般可以取8, 12, 24等(SPSS软件取的是18)
12、ARIMA(p,d,q)模型
我们之前探讨的
ARIMA(p,d,q)模型:
且
合起来就是差分自回归动平均模型(Autoregressive Integrated Moving Average Model)
13、SARIMA(Seasonal ARIMA)模型
到目前为止,我们只关注非季节性数据和非季节性ARIMA模型。然而,ARIMA模型也能够对广泛的季节数据进行建模。
季节性ARIMA模型是通过在ARIMA模型中包含额外的季节性项而生成的,其形式如下:
其中,
: Non-seasonal AR(p) : Seasonal AR(P) : Non-seasonal difference : Seasonal difference : Non-seasonal MA(q) : Seasonal MA(Q)
七、SPSS时间序列建模的思路
处理数据的缺失值问题,生成时间变量并画出时间序列图;
数据是否为季度数据或者月份数据(至少有两个完整的周期,即两年),如果是的话则要观察图中是否存在季节性波动。
根据时间序列图大致判断数据是否为平稳序列(数据围绕着均值上下波动,无趋势和季节性)
打开Spss,分析–时间序列预测–创建传统模型,看看Spss专家建模器得出的最优的模型类型。
如果最后的结果是ARIMA(p,0,q)模型,那么我们就可以画出时间序列的样本ACF和PACF图形进行分析;如果得到的是ARIMA(p,1,q)模型,我们可以先对数据进行1阶差分后再用ACF和PACF图形分析;如果得到的结果与季节性相关,那么我们可以考虑使用时间序列分解。
差异就是差分
SPSS使用专家建模:标题栏:分析-时间序列预测-创建传统模型,把因变量放进去,自变量不用管,确定(条件-离群值,可以全勾上)
统计-右下角勾选参数估算值,图-勾选下面拟合值,右边ACF、PACF,保存-勾选预测值,选项-勾选第二个就可以预测了
注:
1、预测值和拟合值是不相同的,预测值是将样本外年份的数据带入模型计算得到的,而拟合值是将样本的年份重新带入模型计算得到的。
2、这里保留残差的ACF和PACF图形可以帮助我们判断残差是否为白噪声,即该时间序列是否能被模型识别完全
常用的评价指标:
1、一般比较两个模型的好坏,我们可以使用平稳的R方(文档上翻译成了固定的R方)或者标准化BIC(BIC准则),这两个指标既考虑了拟合的好坏,又考虑了模型的复杂度;
2、R方可用来反映线性模型拟合的好坏,越接近于1拟合的越准确。
预测两要:一要结合背景;二要合理假设。
预测两不要:不要硬套模型;不要不做解释。