安装AIC准则使用前进法后退法和逐步回归法进行变量选择的r语言代码

安装AIC准则使用前进法后退法和逐步回归法进行变量选择的r语言代码setwd(“C:/Users/IBM/Desktop/研一课程/2.2回归分析/回归作业”) #设定当前的工作目录shuju=read.table(“shuju.txt”,header=T)shuju #读取数据#采用AIC原则自动选择模型-前进法shuju.reg1shuju.regforward2summary(shuju.regforward2)#采用A

大家好,又见面了,我是你们的朋友全栈君。setwd(“C:/Users/IBM/Desktop/研一课程/2.2回归分析/回归作业”)  #设定当前的工作目录

shuju=read.table(“shuju.txt”,header=T)

shuju   #读取数据

#采用AIC原则自动选择模型-前进法

shuju.reg1<- lm(y~.,data=shuju[,-1])

shuju.regforward2 <- step(shuju.reg1,direction=”forward”)#按照AIC原则自动选择模型

summary(shuju.regforward2)

#采用AIC原则自动选择模型-后退法

shuju.reg2<- lm(y~.,data=shuju[,-1])

shuju.regbackward2 <- step(shuju.reg2,direction=”backward”)#按照AIC原则自动选择模型

summary(shuju.regbackward2)

#采用AIC原则自动选择模型-逐步回归法

shuju.reg3<- lm(y~.,data=shuju[,-1])

shuju.regboth <- step(shuju.reg3,direction=”both”)#按照AIC原则自动选择模型

summary(shuju.regboth)

#计算方差扩大因子VIF

shuju.reg=lm(y~x1+x2+x3+x4+x5+x6+x7,data=shuju)

library(car)

vif(shuju.reg)#计算得方差扩大因子

#计算条件数condition index

X3<-cbind(shuju$x1,shuju$x2,shuju$x3,shuju$x4,shuju$x5,shuju$x6,shuju$x7)

CX<-cor(X3)#变换后所得的X’X其实就是相关系数阵

sqrt(kappa(CX,exact=T))#与SPSS的结果略有区别

eigen(CX)#求特征根和特征向量

#剔除一些不重要的解释变量

#先剔除x4

drop1(shuju.reg,scope=”x4″,test=’F’)

shuju.reg2 <- update(shuju.reg,~.-x4)

vif(shuju.reg2)

#再剔除x5

drop1(shuju.reg2,scope=”x5″,test=’F’)

shuju.reg3 <- update(shuju.reg2,~.-x5)

vif(shuju.reg3)

summary(lm(y~x1+x2+x3+x6+x7,data=shuju))

附录,数据如下、years y x1 x2 x3 x4 x5 x6 x7
1974 172.9 11246 681 105.9 10183 4110 11242 9
1975 352.94 10335 791 107.4 10414 3996 12693 6.5
1976 447.67 13156 607 114.4 13134 4689 16681 6
1977 404.02 6127 714 110.8 15033 6876 22131 4.75
1978 409.51 27419 911 99.4 17389 8636 31353 4.75
1979 619.71 25633 1231 91.4 21715 12339 43528 9.5
1980 1121.17 95684 2760 90.8 27075 16623 70752 10
1981 1506.94 105987 2651 86.3 31827 19937 125989 16
1982 1105.79 46230 2105 125.3 35393 24787 99468 10.5
1983 933.03 37165 3030 107.4 38823 25112 82478 10.5
1984 1008.54 48787 2810 106.6 46079 24414 54936 8.5
1985 1567.56 75808 2649 115.7 47871 22970 87135 6
1986 1960.06 123128 3031 110.1 54372 24403 129884 6.5
1987 2884.88 371406 3644 105.8 65602 30531 153044 5
1988 2556.72 198569 3690 101.6 74917 37861 215033 5.25

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/142381.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • Make autofill background transparent[通俗易懂]

    Make autofill background transparent[通俗易懂]https://jsfiddle.net/ju3g47jh/14/div.select_custom_background{  background-image:url(http://i.stack.imgur.com/mbisi.png)!important;  width:175px}input{  backgr

  • clickhouse支持sql_clickhouse库的使用

    clickhouse支持sql_clickhouse库的使用CREATETABLEzhida.SRC_ZD_HQLM_SUM(“ID”Nullable(VARCHAR2(255)),”SHOWID”VARCHAR2(255),”YEAR”VARCHAR2(255),”ZHIDA_PEOPLE_NUM”Int32,”ZHIDA_PEOPLE_MONEY”Nullable(Decimal(38,2)),”ZHIDA_ENT_NUM”Int32,”ZHIDA_ENT_MONEY”Decimal(38,2))ENG

    2022年10月17日
  • Java常用的几种属性拷贝工具类使用总结

    怕什么真理无穷,进一步有近一步的欢喜文章目录开头聊几句Java属性拷贝工具类使用总结字段和属性使用说明**org.springframework.beans.BeanUtils#copyProperties**org.apache.commons.beanutils.PropertyUtils#_copyProperties_org.apache.commons.beanutils.BeanUtils#_copyProperties原理探索Spring#BeanUtilsapache.commons#.

  • 数组访问越界_数组越界会导致什么问题

    数组访问越界_数组越界会导致什么问题什么是数组访问越界?所谓的数组越界,简单地讲就是指数组下标变量的取值超过了初始定义时的大小,导致对数组元素的访问出现在数组的范围之外,这类错误也是C语言程序中最常见的错误之一。在C语言中,数组必须是静态的。换而言之,数组的大小必须在程序运行前就确定下来。由于C语言并不具有类似Java等语言中现有的静态分析工具的功能,可以对程序中数组下标取值范围进行严格检查,一旦发现数组上溢或下溢,都会因抛出异常而终止程序。也就是说,C语言并不检验数组边界,数组的两端都有可能越界,从而使其他变量的数据甚

  • SVN和Git 介绍,区别,优缺点以及适用范围

    SVN和Git 介绍,区别,优缺点以及适用范围

    2021年10月30日
  • 条件分布_Y关于X的条件分布律

    条件分布_Y关于X的条件分布律给定另一随机变量Y的随机变量X的条件分布是当观察到Y取某一值时X的分布。

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号