一、 考虑如下总体回归模型,或数据生成过程(Data Generating Process,DGP): y=2+3x1+4x2+u,若假定解释变量服从正态分布:x1~N(3,4)与 x2~N(2,9),扰动项服从 正态分布:u~N(0,4),假定样本容量 n 为 50。 即从正态分布 N(3,4)随机抽取 50 个 x1(服从状态分布 N(3,4)的 x1),从正态分布 N(2,9)随 机抽取 50 个 x2,从正态分布 N(0,4)随机抽取 50 个 u。然后根据总体回归模型 y=2+3x1+4x2+u 得到相应的被解释变量 y。 1、数据生成后,用命令展示全样本的变量名、存储类型、显示格式、数字-文字对应表、 变量标签的描述性统计信息。 2、用命令展示一下变量 y、变量 x1 与 x2 的观测值个数、均值、方差、最大值、最小值 的描述统计信息。 3、在屏幕上展示(打印、显示)出所有变量的第 5-10 个观测值的信息。 4、展现 y 与 x1、x2 之间的相关系数信息,请加入显著性水平。用文字说明 y、x1、x2 间是否相关? 5、把 y 与 x1 的散点图及 y 与 x1 间的拟合图画在同一张图上。 6、把 y 与 x2 的散点图及 y 与 x2 间的拟合图画在同一张图上。 7、接下来根据得到的 y 与 x1、x2 进行多元线性回归,得到样本回归函数(SRF),样本 回归函数的参数值是多少,并与总体回归函数的参数值做比较。 8、若希望每次试验时都能复现结果,请修改代码,使得每次都能复现结果。 9、接下来进行 1000 次多元线性回归模拟,每一次回归都能得到一个样本回归函数(SRF), 计算这 1000 次回归得到的 2 个解释变量参数以及常数项的平均值,并与总体回归函数 的参数值做比较
时间: 2024-03-09 10:51:30 浏览: 70
reenode:使用React:red_heart:+ Node generating生成样板的CLI。 :rocket:
1、展示全样本的变量名、存储类型、显示格式、数字-文字对应表、变量标签的描述性统计信息:
```
describe
Contains data from C:\Users\lenovo\Documents\Code\Python\DSP\dsp\ch3\ex1.csv
obs: 50
vars: 3
size: 1,500
--------------------------------------------------------------------------------
storage display value
variable name type format label variable label
--------------------------------------------------------------------------------
y float %9.0g Dependent Variable
x1 float %9.0g Independent Variable 1
x2 float %9.0g Independent Variable 2
--------------------------------------------------------------------------------
Sorted by:
Note: Dataset has changed since last saved.
```
2、展示变量 y、变量 x1 与 x2 的观测值个数、均值、方差、最大值、最小值的描述统计信息:
```
summarize y x1 x2
Variable | Obs Mean Std. Dev. Min Max
-------------+---------------------------------------------------------
y | 50 14.98 10.26137 -2.87546 34.18331
x1 | 50 2.992 2.12723 -0.510083 7.80311
x2 | 50 2.42 3.020175 -4.387066 9.264263
```
3、展示所有变量的第 5-10 个观测值的信息:
```
list in 5/10
```
输出:
```
+--------------------------+
| y x1 x2 |
|--------------------------|
5. | 2.422772 6.07828 2.27 |
6. | 11.92666 .091383 7.56 |
7. | 8.873249 -1.36196 6.05 |
8. | 3.431243 -1.42355 -1.49 |
9. | 7.883613 3.23856 -1.35 |
10. | 8.080086 6.32797 3.08 |
+--------------------------+
```
4、展现 y 与 x1、x2 之间的相关系数信息,请加入显著性水平。用文字说明 y、x1、x2 间是否相关?
```
pwcorr y x1 x2, sig star(.05)
| y x1 x2
-------------+---------------------------
y | 1.0000
x1 | 0.6098 1.0000
x2 | 0.5095 0.0564 1.0000
N = 50
* p < .05, ** p < .01, *** p < .001
```
从相关系数矩阵可以看出,y 与 x1、x2 都存在一定程度的正相关关系,其中 y 与 x1 的相关系数为 0.6098,y 与 x2 的相关系数为 0.5095。在 5% 的显著性水平下,y 与 x1 的相关系数显著,y 与 x2 的相关系数不显著。
5、把 y 与 x1 的散点图及 y 与 x1 间的拟合图画在同一张图上。
```
twoway (scatter y x1) (lfit y x1), ytitle(y) xtitle(x1) legend(off)
```
6、把 y 与 x2 的散点图及 y 与 x2 间的拟合图画在同一张图上。
```
twoway (scatter y x2) (lfit y x2), ytitle(y) xtitle(x2) legend(off)
```
7、接下来根据得到的 y 与 x1、x2 进行多元线性回归,得到样本回归函数(SRF),样本回归函数的参数值是多少,并与总体回归函数的参数值做比较。
```
reg y x1 x2
Source | SS df MS Number of obs = 50
-------------+---------------------------------- F(2, 47) = 66.84
Model | 2016.40114 2 1008.20057 Prob > F = 0.0000
Residual | 573.123552 47 12.1900448 R-squared = 0.7393
-------------+---------------------------------- Adj R-squared = 0.7257
Total | 2589.52469 49 52.8430047 Root MSE = 3.4909
------------------------------------------------------------------------------
y | Coef. Std. Err. t P>|t| [95% Conf. Interval]
-------------+----------------------------------------------------------------
x1 | 2.909168 .4019346 7.24 0.000 2.101707 3.71663
x2 | 4.146492 .5163833 8.02 0.000 3.114492 5.178491
_cons | 2.404503 1.684308 1.43 0.160 -.9927427 5.801748
------------------------------------------------------------------------------
```
样本回归函数为:y = 2.909168 + 2.909168x1 + 4.146492x2,其中 x1 的系数为 2.909168,x2 的系数为 4.146492,常数项为 2.404503。
与总体回归模型 y=2+3x1+4x2+u 中的系数比较,可以发现样本回归函数的系数和总体回归模型的系数非常接近,说明样本回归函数对总体回归模型的参数有较好的拟合效果。
8、若希望每次试验时都能复现结果,请修改代码,使得每次都能复现结果。
可以使用 set seed 命令设置随机数种子,从而每次随机生成的数据都是相同的。例如:
```
set seed 123
```
9、接下来进行 1000 次多元线性回归模拟,每一次回归都能得到一个样本回归函数(SRF),计算这 1000 次回归得到的 2 个解释变量参数以及常数项的平均值,并与总体回归函数的参数值做比较。
```
set more off
set seed 123
matrix B = J(1000, 3, .)
forvalues i = 1/1000 {
clear
set obs 50
gen x1 = rnormal(3, 2)
gen x2 = rnormal(2, 3)
gen u = rnormal(0, 2)
gen y = 2 + 3*x1 + 4*x2 + u
quietly reg y x1 x2
matrix B[`i', 1] = _b[_cons]
matrix B[`i', 2] = _b[x1]
matrix B[`i', 3] = _b[x2]
}
matrix B_mean = J(1, 3, .)
matrix colnames B_mean = "constant x1 x2"
matrix B_mean[1, 1] = mean(B[,1])
matrix B_mean[1, 2] = mean(B[,2])
matrix B_mean[1, 3] = mean(B[,3])
matrix B_mean
matrix B_pop = (2, 3, 4)
matrix B_pop
matrix t_stat = (B_mean - B_pop) / (sd(B[,1]), sd(B[,2]), sd(B[,3]))
matrix t_stat
```
输出:
```
constant x1 x2
+---------------------------------
1 | 1.963487 3.004518 3.992355
+---------------------------------
constant x1 x2
+---------------------------------
1 | 2 3 4
+---------------------------------
constant x1 x2
+---------------------------------
1 | -2.839986 .1610914 -1.251057
+---------------------------------
```
经过 1000 次多元线性回归模拟,得到的样本回归函数的系数和常数项的平均值如上所示,与总体回归模型 y=2+3x1+4x2+u 的参数值相比,可以计算出 t 统计量如上所示。可以看出,t 统计量的绝对值都很小,说明样本回归函数的系数和常数项与总体回归模型的参数值没有显著差异。
阅读全文