OLS样本估计量抽样分布模拟

news/2025/2/22 1:06:32/

OLS样本估计量抽样分布模拟

文章目录

  • OLS样本估计量抽样分布模拟
      • 1 OLS估计量分布
      • 2 R语言实现

1 OLS估计量分布

对于线性回归方程
Y = β 0 + β 1 X + ε Y = \beta_0+\beta_1 X + \varepsilon Y=β0+β1X+ε
利用普通最小二乘法(OLS)估计上述方程参数使的假定(之一)是扰动项 ε \varepsilon ε必须满足正态分布,这样才能保证估计量也服从正态分布。当扰动项服从正态分布,如果自变量是确定性的,那么被解释变量也服从正态分布。根据OLS估计量的线性性性质
β 1 = ∑ k i Y i \beta_1 = \sum k_iY_i β1=kiYi
其中常数列 k i k_i ki一定满足 ∑ k i = 0 \sum k_i =0 ki=0, ∑ k i X i = 1 \sum k_iX_i =1 kiXi=1。当样本估计量抽样分布知晓后,就可以进行推断统计,包括假设检验和区间估计等。下面通过R语言进行模拟这一过程。


2 R语言实现

数据模拟

# OLS抽样分布
# 数据模拟
set.seed(1110)
# 总体容量
N = 5000
ID = seq(1,N,1)
# 自变量
x1 = rnorm(N,2,3)
x2 = rnorm(N,1,2)
x3 = rnorm(N,2,1)
# 残差
e = rnorm(N,0,3)# 直方图与核密度曲线
par(mar = c(2,2,2,2),mfrow =c(1,1))
hist(e,prob = T,col = "blue",main = "残差e分布")
lines(density(e), col="red", lwd=2)# 被解释变量
y = 1 + 2*x1 + 3*x2 + 4*x3 + e
# 被解释变量分布
op <- par(fig=c(.03,.3,.5,.98), new=TRUE)
hist(y,prob = T,col = "red",main = "y分布")
lines(density(y), col = "blue", lwd=2)
box()
par(op)# 合并为数据框
data = data.frame(ID,y,x1,x2,x3)

残差与被解释变量的经验分布如下图
在这里插入图片描述

接下来进行样本抽取(简单随机抽样,抽取一次,样本容量为500)

# 样本抽取
sample1 = sample(N,500,replace = FALSE) 
mydata1 = data[sample1,]
# OLS回归
OLS = lm(y~1 + x1+ x2 + x3,data = mydata1)
B = OLS$coefficients
B[1]
B[2]
B[3]
B[4]

现在抽取10000次,样本容量为500

# 参数抽样分布
B1 = numeric()
B2 = numeric()
B3 = numeric()
B4 = numeric()
for (i in 1:10000){sampling = sample(N,500,replace = FALSE) mydata = data[sampling,]OLS = lm(y~1 + x1+ x2 + x3,data = mydata)B1[i] = OLS$coefficients[1]B2[i] = OLS$coefficients[2]B3[i] = OLS$coefficients[3]B4[i] = OLS$coefficients[4]
}
mypar = data.frame(B1,B2,B3,B4)
# OLS估计量的线性性质,回归参数也服从正态分布
par(mfrow = c(2,2))hist(B1,prob = T,col = "red",main = "截距系数抽样分布")
lines(density(B1), col = "blue", lwd=2)hist(B2,prob = T,col = "red",main = "x1的系数抽样分布")
lines(density(B2), col = "blue", lwd=2)hist(B3,prob = T,col = "red",main = "x2的系数抽样分布")
lines(density(B3), col = "blue", lwd=2)hist(B4,prob = T,col = "red",main = "x3的系数抽样分布")
lines(density(B4), col = "blue", lwd=2)

各个参数的经验分布如下图:
在这里插入图片描述


http://www.ppmy.cn/news/66885.html

相关文章

STM32-江科大

新建工程 引入启动文件 Start中是启动文件&#xff0c;是STM32中最基本的文件&#xff0c;不需要修改&#xff0c;添加即可。 启动文件包含很多类型&#xff0c;要根据芯片型号来进行选择&#xff1a; 如果是选择超值系列&#xff0c;那就使用带 VL 的启动文件&#xff0c;…

四元数插值Eigen源码解析

四元数插值公式 Slerp ⁡ ( q 0 , q 1 ; t ) sin ⁡ [ ( 1 − t ) Ω ] sin ⁡ Ω q 0 sin ⁡ [ t Ω ] sin ⁡ Ω q 1 , 0 ≤ t ≤ 1 {\displaystyle \operatorname {Slerp} (q_{0},q_{1};t){\frac {\sin {[(1-t)\Omega }]}{\sin \Omega }}q_{0}{\frac {\sin[t\Omega ]}{\s…

快速了解 RPC Replication 机制(纯问题版)

1、本次讨论不会明晰底层原理。 2、官方基础知识 : https://docs.unrealengine.com/4.27/zh-CN/InteractiveExperiences/Networking/Actors/ 3、底层原理解析参考文章 : https://zhuanlan.zhihu.com/p/587136954 : https://zhuanlan.zhihu.com/p/590990669 : http://www.aclock…

C语言初阶之三子棋

三子棋 初始文件建立主函数文件棋盘的初始化&#xff08;InitBoard&#xff09;打印棋盘&#xff08;DisplayBoard&#xff09;玩家下棋&#xff08;PlayerMove&#xff09;电脑下棋&#xff08;ComputerMove&#xff09;判定胜负所有代码game.hgame.ctest.c 结语 初始文件建立…

AUTOSAR知识点 之 PDUR (二):ISOLAR-AB配置及代码分析

目录 1、ISOLAR-AB配置 1.1、整体概述 1.2、PduRGeneral 1.3、PduRBswModules 1.4、PduRRountingTabls 2、代码分析 1、ISOLAR-AB配置

Oracle如何修改字符集编码

以下是修改 Oracle 数据库字符集的案例总结&#xff1a; 使用 SELECT * FROM NLS_DATABASE_PARAMETERS p WHERE p.PARAMETERNLS_CHARACTERSET 命令查询当前数据库的字符集。 使用 sqlplus / AS SYSDBA 命令以 SYSDBA 身份登录 Oracle 数据库。 使用 SHUTDOWN IMMEDIATE 命令关…

Linux运行游戏

安装驱动和bumblebee 注意&#xff1a;功能和optimus-manager类似&#xff0c;只需要安装一个。我的电脑安装了optimus-mananger后&#xff0c;导致hibernate后会时不时唤醒卡住无法进桌面 1. 安装软件 sudo pacman -S mesa lib32-mesa vulkan-intel lib32-vulkan-intel # 英…

C++数据结构:哈希 -- unordered系列容器、哈希表的结构以及如何通过闭散列的方法解决哈希冲突

目录 一. unordered系列关联式容器 1.1 unrodered_map和unordered_set 综述 1.2 常见的接口函数&#xff08;以unordered_map为例&#xff09; 1.3 unordered系列与map和set的效率对比 二. 哈希表的底层结构 2.1 什么是哈希 2.2 哈希函数 2.3 哈希冲突 三. 通过闭散列的…