R语言系列—回归分析

一元线形回归模型:有变量x,y。假设有关系y=c+bx+e,其中c+bx 是y随x变化的部分,e是随机误差。

可以很容易的用函数lm()求出回归参数b,c并作相应的假设检验,如:

x<-c(0.10, 0.11, 0.12, 0.13, 0.14, 0.15,0.16, 0.17, 0.18, 0.20, 0.21, 0.23)

y<-c(42.0, 43.5, 45.0, 45.5, 45.0, 47.5,49.0, 53.0, 50.0, 55.0, 55.0, 60.0)

lm.sol<-lm(y ~ 1+x)

summary(lm.sol)

仅列出部分返回结果:

Residuals:

  Min       1Q   Median    3Q     Max

-2.0431  -0.7056  0.1694  0.6633  2.2653

Coefficients:

            Estimate Std. Error      t value   Pr(>|t|)   

(Intercept)   28.493      1.580   18.04    5.88e-09 ***

x            130.835      9.683   13.51 9.50e-08 ***

在我们的输入中,关键是lm.sol<-lm(y ~ 1+x)的调用,这里可以看到,lm使用了参数y~1+x,即表示我们使用的是模型y=c+bx+e (1表示常数项)

然后我们使用summary查看了lm返回的结果。在Residuals:中,我们可以看到的是一些关于残差的信息:最小最大值,4分位数等。Coefficients:中则是最为关键的对c和b的相关估计。其中Estimate是与b,c值的估计,Std. Error 则是回归参数b和c的标准差:sd(b), sd(c)。剩下的两个参数则是对回归参数的假设检验: t value是对b,c进行假设检验的t值,以及P-值(用来与显著性水平比较决定是否接受该阿假设检验)Pr(>|t|)。最后我们还可以看到3个* 号,这表明x和y有非常显著的线性关系(*可以有0—3个,越多则线性关系越显著)。

多元线形回归的计算也是这样,我们只要在加入一行数据x2,然后把lm的参数改为y ~ 1+x+x2,就可以得到模型y=d+cx2+bx+e的计算结果。其中返回值的意义和上面基本一致。

至此,我们就可以用R建立起一个简单的线形模型,接下来,我们就要用这个模型去对新的x进行预测,预测y的值与置信区间。

接着上面的程序,我们先建立要预测的数据集:

point<-data.frame(x=0.24)

然后用函数predict进行预测

predict(lm.sol,point,interval="prediction",level=0.95)

返回结果

       fit      lwr      upr

1 59.89318 56.36215 63.42421

分别表示了y的预测值和上下界。

在函数predict中,参数lm.sol是之前建立的线形模型,point是要预测的点,参数interval="prediction"表示要求给出预测的区间(上下界),level则是该区间的预测水平。

下面给出一个多元线形回归的完整程序:(不显示结果)

y<-c(162,120,223,131,67,167,81,192,116,55,252,232,144,103,212)

x1<-c(274,180,375,205,86,265,98,330,195,53,430,372,236,157,370)

x2<-c(2450,3250,3802,2838,2347,3782,3008,2450,2137,2560,4020,4427,2660,2088,2605)

lm.sol<-lm(y~1+x1+x2)

ex<-data.frame(x1=200,x2=3000)

predict(lm.sol,ex,interval="prediction",level=0.95)

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
R语言进行回归分析时,当需要包含一个分类变量时,可以使用哑变量进行编码。哑变量是将分类变量转换为数变量的一种方式,以便能够在回归模型使用。 在R,可以使用函数`model.matrix()`来创建哑变量。这个函数会自动将分类变量转换为一系列的二进制变量,其每个变量代表了原始分类变量的一个取。这样,可以将这些二进制变量作为回归模型的自变量,以解释分类变量对因变量的影响。 具体操作上,可以先使用`factor()`函数将分类变量转换为因子变量,然后再使用`model.matrix()`函数创建哑变量。最后,可以将哑变量与其他数变量一起作为输入,构建回归模型。 总结起来,在R语言进行回归分析时,可以使用`model.matrix()`函数将分类变量转换为哑变量,并将其作为回归模型的自变量之一,以解释分类变量对因变量的影响。 <span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* [分类变量回归: R语言哑变量编码本质](https://blog.csdn.net/weixin_42812146/article/details/113576093)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *3* [R语言实战应用精讲50篇(六)-哑变量](https://blog.csdn.net/wenyusuran/article/details/115120906)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值