一元线性回归
一、回归就是让残差平方和最小
称为残差,其意义是无法观测的且满足一定条件的扰动项
这也就代表了残差的累积,得到了总体的差值
简化来说就是这个式子
tp:拟合与回归是具有相似性的,但不完全相同,拟合主要在于相关性的判断,而回归有严格的自变量和因变量
二、对于线性的理解
线性不要求严格线性,可以将目标函数转换成线性就行
例如:
预处理:就是转换方式
Excel预处理方法:
输入函数与下拉,双击右下角
回归系数的解释
回归系数的概念:前文说到的和
的就是回归系数
如果还有自变量会对因变量产生影响,那么需要加入这个变量,如果引入了新的变量后,回归系数的变化较大,产生的原因就是
原因:遗漏变量导致的内生性!!
三、内生性的探究:
前面提到的为干扰项,如果
和所有的自变量都不相关,则称为回归模型具有外生性(如果相关,则存在内生性,内生性会导致回归系数的不准确:不满足无偏性和一致性)
tp:无偏性:估计期望和实际的样本值相等; 一致性:样本无穷情况下,估计值收敛到一个值
内生性的蒙特卡罗模拟:
假设,如果
在[-10,10]上均匀分布,用
进行估计,得出了蒙特卡洛模拟的结果
判断内生性就是利用和自变量的相关系数,
蒙特卡洛的代码
%% 蒙特卡洛模拟:内生性会造成回归系数的巨大误差
times = 300; % 蒙特卡洛的次数
R = zeros(times,1); % 用来储存扰动项u和x1的相关系数
K = zeros(times,1); % 用来储存遗漏了x2之后,只用y对x1回归得到的回归系数
for i = 1: times
n = 30; % 样本数据量为n
x1 = -10+rand(n,1)*20; % x1在-10和10上均匀分布,大小为30*1
u1 = normrnd(0,5,n,1) - rand(n,1); % 随机生成一组随机数
x2 = 0.3*x1 + u1; % x2与x1的相关性不确定, 因为我们设定了x2要加上u1这个随机数
% 这里的系数0.3我随便给的,没特殊的意义,你也可以改成其他的测试。
u = normrnd(0,1,n,1); % 扰动项u服从标准正态分布
y = 0.5 + 2 * x1 + 5 * x2 + u ; % 构造y
k = (n*sum(x1.*y)-sum(x1)*sum(y))/(n*sum(x1.*x1)-sum(x1)*sum(x1)); % y = k*x1+b 回归估计出来的k
K(i) = k;
u = 5 * x2 + u; % 因为我们回归中忽略了5*x2,所以扰动项要加上5*x2
r = corrcoef(x1,u); % 2*2的相关系数矩阵
R(i) = r(2,1);
end
plot(R,K,'*')
xlabel("x_1和u'的相关系数")
ylabel("k的估计值")
核心解释变量和控制解释变量
实际应用中,保证核心解释变量与无关
控制解释变量放入方程,控制住核心解释变量的遗漏因素