简单线性回归分析-基于R语言

news/2024/12/21 21:40:45/

        本题中,在不含截距的简单线性回归中,用零假设H_{0}:\beta=0t统计量进行假设检验。首先,我们使用下面方法生成预测变量x和响应变量y。

set.seed(1)
x <- rnorm(100)
y <- 2*x+rnorm(100)

(a)不含截距的线性回归模型y=\beta x+\epsilon构建。

(1)建立y关于x的不含截距项的简单线性回归。估计系数\hat{\beta}及其标准差、t 统计量和与零假设相关的p值。分析这些结果。

        这里我们使用下面代码实现没有截距的简单线性回归

lm(y~x+0)

        代码如下:

set.seed(1)
x = rnorm(100)
y = 2*x + rnorm(100)lm.fit = lm(y~x+0)
summary(lm.fit)

        输出结果:

Call:
lm(formula = y ~ x + 0)Residuals:Min      1Q  Median      3Q     Max 
-1.9154 -0.6472 -0.1771  0.5056  2.3109 Coefficients:Estimate Std. Error t value Pr(>|t|)    
x   1.9939     0.1065   18.73   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.9586 on 99 degrees of freedom
Multiple R-squared:  0.7798,	Adjusted R-squared:  0.7776 
F-statistic: 350.7 on 1 and 99 DF,  p-value: < 2.2e-16

        由输出结果得出:

        简单线性回归方程:                          

\hat{y}=1.9939x

其中:

\hat{\beta}=1.9939

SE=0.1065

t\,value=18.73

其中:t 统计量的 p 值接近于零,因此拒绝原假设。

(b)参数估计。

(2)建立x关于y的不含截距项的简单线性回归。估计系数\hat{\beta}及其标准差、t 统计量和与零假设相关的p值。分析这些结果。

lm.fit = lm(x~y+0)
summary(lm.fit)

        输出结果:

Call:
lm(formula = x ~ y + 0)Residuals:Min      1Q  Median      3Q     Max 
-0.8699 -0.2368  0.1030  0.2858  0.8938 Coefficients:Estimate Std. Error t value Pr(>|t|)    
y  0.39111    0.02089   18.73   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.4246 on 99 degrees of freedom
Multiple R-squared:  0.7798,	Adjusted R-squared:  0.7776 
F-statistic: 350.7 on 1 and 99 DF,  p-value: < 2.2e-16

        由输出结果得出:

        简单线性回归方程:                       

   \hat{x}=0.3911y

其中:

\hat{\beta}=0.3911

SE=0.0209

t\,value=18.73

其中: t 统计量的 p 值接近于零,因此拒绝原假设。

(c)模型结果分析。

(3)(1)和(2)所得到的结果有什么关系?

        (1)和(2)的结果反映了同一个线性关系模型,y = 2x + \epsilon 和 x = 0.5 * (y - \epsilon)在一定程度上是等价的线性关系模型,他们的 t 值都等于 18.73。

(d)t 统计量检验证明。 

(4)对于y对x的不含截距的简单线性回归,零假设:H_{0}:\beta=0 的 t 统计量具有\frac{\hat{\beta}}{SE(\hat{\beta})}的形式,其中\hat{\beta}由下式给出,其中:

SE(\hat{\beta}) = \sqrt{\frac {\sum{(y_i - x_i \hat{\beta})^2}} {(n-1) \sum{x_i^2}}}

用代数的方法证明上面式子可以写成如下形式,并在R中进行确认。

        证明:

\begin{array}{cc} t = \hat{\beta} / SE(\hat{\beta}) \\ \\ \hat{\beta} = \frac {\sum{x_i y_i}} {\sum{x_i^2}} \\ \\ SE(\hat{\beta}) = \sqrt{\frac {\sum{(y_i - x_i \hat{\beta})^2}} {(n-1) \sum{x_i^2}}} \\ \\ t = {\frac {\sum{x_i y_i}} {\sum{x_i^2}}} {\sqrt{\frac {(n-1) \sum{x_i^2}} {\sum{(y_i - x_i \hat{\beta})^2}}}} \\ \\ = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{(y_i - x_i \hat{\beta})^2}}} \\ \\ = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{(y_i^2 - 2 \hat{\beta} x_i y_i + x_i^2 \hat{\beta}^2)}}} \\ \\ = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{y_i^2} - \sum{x_i^2} \hat{\beta} (2 \sum{x_i y_i} - \hat{\beta} \sum{x_i^2})}} \\ \\ = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{y_i^2} - \sum{x_i y_i} (2 \sum{x_i y_i} - \sum{x_i y_i})}} \\ \\ t = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{y_i^2} - (\sum{x_i y_i})^2 }} \end{array}

         R语言验证:

sqrt(length(x)-1) * sum(x*y)) / (sqrt(sum(x*x) * sum(y*y) - (sum(x*y))^2)
[1] 18.72593

         由输出结果得出:这与上面显示的 t 统计量相同。

(e)简单线性回归中y对x回归与x对y回归的 t 统计量相等。

(f1)无截距情况证明: 

(5)用(4)的结果证明y对x回归与x对y回归的 t 统计量相等。

        如果你把 t(x,y) 换成 t(y,x),那么你会发现 t(x,y) = t(y,x)。

t(x,y) = \frac {\sqrt{n-1} \sum{x_i y_i}} {\sqrt{\sum{x_i^2} \sum{y_i^2} - (\sum{x_i y_i})^2 }}=t(y,x)

(f2)有截距情况y=\beta_{1} x+\beta_{0}+ \epsilon证明: 

 (6)在R中证明在截距的回归中,零假设:H_{0}:\beta_{1}=0 的 t 统计量在y对x的回归中和x对y的回归中是一样的。

        代码如下:

lm.fit = lm(y~x)
lm.fit2 = lm(x~y)
summary(lm.fit)

         输出:

Call:
lm(formula = y ~ x)Residuals:Min      1Q  Median      3Q     Max 
-1.8768 -0.6138 -0.1395  0.5394  2.3462 Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept) -0.03769    0.09699  -0.389    0.698    
x            1.99894    0.10773  18.556   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.9628 on 98 degrees of freedom
Multiple R-squared:  0.7784,	Adjusted R-squared:  0.7762 
F-statistic: 344.3 on 1 and 98 DF,  p-value: < 2.2e-16
summary(lm.fit2)

        输出:

Call:
lm(formula = x ~ y)Residuals:Min       1Q   Median       3Q      Max 
-0.90848 -0.28101  0.06274  0.24570  0.85736 Coefficients:Estimate Std. Error t value Pr(>|t|)    
(Intercept)  0.03880    0.04266    0.91    0.365    
y            0.38942    0.02099   18.56   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1Residual standard error: 0.4249 on 98 degrees of freedom
Multiple R-squared:  0.7784,	Adjusted R-squared:  0.7762 
F-statistic: 344.3 on 1 and 98 DF,  p-value: < 2.2e-16

        由表格结果,零假设:H_{0}:\beta_{1}=0 的 t 统计量在y对x的回归中为18.556,在x对y的回归中为18.56,说明在截距的回归中,零假设:H_{0}:\beta_{1}=0 的 t 统计量在y对x的回归中和x对y的回归中是一样的。


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

相关文章

微调大模型(Finetuning Large Language Models)—Data_preparation(四)

1. 数据的质量 数据准备的步骤&#xff1a; 什么是tokenizing&#xff1f; 其实就是将文本数据转换为代表文本的数字&#xff0c;一般是基于字符出现的频率。需要注意的&#xff0c;编码和解码的tokenizer需保持一致&#xff0c;一般训练的模型有自己专属匹配的tokenizer。 …

求10 个整数中最大值

我们需要10个整数之中求出10个整数之中的最大值所以我们先要将10个整数先放置到一个容器之中&#xff0c;我们初期就使用数组的形式存放10个数组即设置数组arr[10]&#xff0c;我们要将10个数组之中的数字输出出来&#xff0c;我们这里使用的是遍历循环输出数组。我们这里是使用…

Linux高级IO之poll与epoll

文章目录 poll使用 epoll系统调用 epoll的工作原理红黑树队列 epoll的工作模式水平触发边缘触发 Reactor设计模式工作原理epoll Reactor设计模式的简单示例 poll和epoll都是多路转接的调用&#xff0c;但是epoll实在过于优秀了&#xff0c;一般也都是用epoll的&#xff0c;除此…

You are not allowed to push code to this project

原因1 用户权限不够。 具体查看用户权限路径&#xff1a; 原因2 vscode之前都能提交代码&#xff0c;但是突然就提交不上了。 表现为:前端代码能拉取&#xff0c;但是不能提交。使用idea进行前端代码的提交&#xff0c;完全没问题。 解决方案&#xff1a;修改TortoiseG…

ChatGPT与R语言融合技术在生态环境数据统计分析、绘图(回归和混合效应模型、多元统计分析)

自2022年GPT&#xff08;Generative Pre-trained Transformer&#xff09;大语言模型的发布以来&#xff0c;它以其卓越的自然语言处理能力和广泛的应用潜力&#xff0c;在学术界和工业界掀起了一场革命。在短短一年多的时间里&#xff0c;GPT已经在多个领域展现出其独特的价值…

docker(一)之cgroup详解

概述 摘要&#xff1a; 容器的三大基石包括: namespaces, docker,rootfs。其中Namespace实现进程隔离。Cgroups用于限制进程资源&#xff0c;如CPU、内存、磁盘空间、网络流量等。rootfs则是容器的基础文件系统。通过这些技术&#xff0c;Docker实现了轻量级的容器隔离。本文将…

嵌入式单片机底层原理详解

前言 此笔记面向有C语言基础、学习过数字电路、对单片机有一定了解且尚在学习阶段的群体编写,笔记中会介绍单片机的结构、工作原理,以及一些C语言编程技巧,对于还停留在复制模板、copy代码阶段的读者会有比较大的帮助,待学习完成后可以独立完成几乎所有单片机的驱动开发。 …

解决VRM格式模型在Unity中运行出现头发乱飞等问题

1、问题 通过VRoidStudio制作导出的vrm格式的模型&#xff0c;放在unity中使用时&#xff0c;一运行就会出现头发乱飞&#xff0c;没有自然下垂的问题 2、解决方法 将模型下的secondary中的所有VRM Spring Bone脚本中的Drag Force改为1&#xff0c;Hit Radius改为0 修改后…