【定量分析、量化金融与统计学】R语言:哑变量与多重共线性

一、前言

【定量分析、量化金融与统计学】多元回归模型与回归推理之中

我们对多重共线性做了简单解释,今天用程序来做一下多重共线性的检验。

二、程序分析

加载数据到数据帧并显示数据内容:

x<-read.csv(file="C:/R_files/Employee_salary.csv", header=T)
head(x)
names(x)

画散点图简单观察情况:

plot(x$experience,x$salary, xlab="Experience", ylab="Salary", main="Scatter Plot")

创建空列 

dummyGender<-NULL
dummyGender<-(x$gender=="female")*1

将其添加到数据集中

x1<-cbind(dummyGender, x)
head(x1)

R会自己生成哑变量

做线性模型:

fit1<-lm(salary~experience+as.factor(gender), x)
summary(fit1)

 测试交互效应:

fit1<-lm(salary~experience+as.factor(gender)+experience:as.factor(gender), x)
summary(fit1)

 测试年龄以及年龄与经验(不交互)的结果:

fit2<-lm(salary~age+as.factor(gender), x)
summary(fit2)

fit3<-lm(salary~experience+age+as.factor(gender), x)
summary(fit3)

 相关矩阵:

#correlation matrix
#For a better visualization you can use the mentioned package
install.packages("PerformanceAnalytics")
install.packages("zoo")
install.packages("xts")
library("zoo")
library("xts")
library("PerformanceAnalytics")
my_data <- x1[, c(1,3,4,5)]
chart.Correlation(my_data, histogram=TRUE, pch= 19)
cor(my_data)

多重共线性:

#multicolinearity
install.packages("mctest")
library(mctest)
my_data1 <- x1[, c(1,3,5)]
# Individual Multicollinearity Diagnostic Measures
#Computes different measures of multicollinearity diagnostics such as 
# TOL,variance Inflation factor (VIF),Corrected VIF (CVIF), Klein's rule

imcdiag(x = my_data1, y = x1$salary)
#try imcdiag() function with model which has 3 independent variables which is "fit3"
# this below code works instead of the earlier imcdiag()
imcdiag(fit3) 
?imcdiag

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

旋转跳跃我闭着眼

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值