R 对数变换 《回归分析与线性统计模型》page103
BG:在box-cox变换中,当λ = 0时即为对数变换。
当所分析变量的标准差相对于均值而言比较大时,这种变换特别有用。对数据作对数变换常常起到降低数据波动性和减少不对称性的作用。。这一变换也能有效消除异方差性
library(MASS)
library(openxlsx)
data= read.xlsx("data104.xlsx",sheet = 1) #导入数据
attach(data)
op<-par(mfrow=c(2,2),mar=0.4+c(4,4,1,1),oma=c(0,0,2,0)) #将四张图放在一起,调整边界。(以后也采用此行)
plot(size,effort) #图4-4(a)
plot(log(size),log(effort)) #图4-4(b)
#绘制频率分布直方图
hist(effort) #图4-5(a)
hist(size) #图4-5(b)

effor 和 size 这两个变量的频率分布图表明,它们并不满足正态分布。为了接近正态分布,必须变换这些变量(通过频率分布图判断变量是否满足正态分布)
1.先进行基本的线性回归,利用得到的模型进行box-cox变换
lm1=lm(effort~size+t14) #拟合线性回归模型
summary(lm1)
#绘制残差图进行残差分析
plot(fitted(lm1),resid(lm1),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
boxcox(lm1,lambda=seq(0,1,by=0.1)) #进行box-cox变换

从残差图可以看到误差项不满足Gauss-Markov假设。
右图的Box-Cox变换建议问哦们λ可以取在[0.05,0.6]范围内,对投入工作量(effort) 取对数有一定的可信度(λ=0 几乎落在置信域内)
进行对数变换
lm2=lm(log(effort)~size+t14)
summary(lm2)
#绘制残差图
plot(fitted(lm2),resid(lm2),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")

书上的结果时残差范围大致在[-25,40]内,不满足Gauss-Markov假设
与书上结果不符,上图参擦汗图表示这个模型是可行的。
2.试图拟合 effort 与 log(size),t14 的回归方程。
lm3=lm(effort~log(size)+t14)
summary(lm3)
#绘制残差图
plot(fitted(lm3),resid(lm3),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
#box-cox变换求λ
boxcox(lm3,lambda=seq(0,1,by=0.1))

根据右图,Box-Cox变换建议我们取 λ=0
建立如下方程 ln(effort) = β0 + β1ln(size) + β2 t14 + e
lm4=lm(log(effort)~log(size)+t14) #进行线性回归
summary(lm4)
#绘制残差图
plot(fitted(lm4),resid(lm4),cex=1.2,pch=21,col="red",bg="orange",xlab="Fitted value",ylab="Residuals")
#进行box-cox变换
boxcox(lm4,lambda=seq(0,1,by=0.1))

因为λ=1 包含在box-cox图像所示的置信域内,说明不进行变换也是ok的
而且通过残差分析,可以看出这个模型是合理的。
R 对数变换 《回归分析与线性统计模型》page103的更多相关文章
- R 《回归分析与线性统计模型》page120,4.3
#P120习题4.3 rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 3) names(A) = c("ord&q ...
- R 《回归分析与线性统计模型》page93.6
rm(list = ls()) #数据处理 library(openxlsx) library(car) library(lmtest) data = read.xlsx("xiti4.xl ...
- R 《回归分析与线性统计模型》page164 单变量、多变量多项式模型
--多项式回归模型 --单变量多项式模型 --多变量多项式模型 rm(list = ls()) library(openxlsx) library(leaps) #单变量多项式模型# data = r ...
- R 《回归分析与线性统计模型》page141,5.2
rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data141.xlsx") ...
- R 《回归分析与线性统计模型》page140,5.1
rm(list = ls()) library(car) library(MASS) library(openxlsx) A = read.xlsx("data140.xlsx") ...
- R 《回归分析与线性统计模型》page121,4.4
rm(list = ls()) A = read.xlsx("xiti_4.xlsx",sheet = 4) names(A) = c("ord"," ...
- R 《回归分析与线性统计模型》page119,4.2
rm(list = ls()) library(openxlsx) library(MASS) data = read.xlsx("xiti_4.xlsx",sheet = 2) ...
- R语言 线性回归分析实例 《回归分析与线性统计模型》page72
y,X1,X2,X3 分别表示第 t 年各项税收收入(亿元),某国生产总值GDP(亿元),财政支出(亿元)和商品零售价格指数(%). (1) 建立线性模型: ① 自己编写函数: > librar ...
- R WLS矫正方差非齐《回归分析与线性统计模型》page115
rm(list = ls()) A = read.csv("data115.csv") fm = lm(y~x1+x2,data = A) coef(fm) A.cooks = c ...
随机推荐
- MySQL 之数据库初识
一 数据库概述 数据库即存放数据的仓库,只不过这个仓库是在计算机存储设备上,而且数据是按一定的格式存放的.过去人们将数据存放在文件柜里,现在数据量庞大,已经不再适用. 数据库是长期存放在计算机内.有组 ...
- Linux中常用命令的使用(一)
这次只讲常用命令 先说命令的组成:命令一般由 (选项.命令.参数) 组成 下面就从开启一个Ubuntu开始说起 1.用户登录:在putty环境下,输完用户名在输入密码 别人想知道你用的linux系统 ...
- 解决fastjson反序列化日期0000-00-00失败的方案
解决fastjson反序列化日期0000-00-00失败的方案 22 Jul 2016 一.案例场景复原 示例场景里涉及两个class:TestDemo.java, DateBeanDemo.java ...
- Win10中小娜无法搜索本地应用
解决方案 1.win+X - Windows PowerShell(管理员) 2. 输入Get-AppXPackage -Name Microsoft.Windows.Cortana | Fo ...
- webdriver-js操作滚动条
webdriver-js操作滚动条 1. webdriver高级应用-js操作滚动条 1.滑动页面的滚动条到页面最下面 2.滑动页面的滚动条到页面的某个元素 3.滑动页面的滚动条向下移动某个 ...
- 帆软FineReport报表由于使用HTML显示后无法控制行高
问题:帆软FineReport报表由于使用HTML显示后无法控制行高. 原因:首先每行的第一个单元格是以HTML显示的,然后,数据库查询的数据集中,sql语句中包含这个代码:'<pre>' ...
- Android 记住密码和自动登录界面的实现(SharedPreferences 的用法)
原文:http://blog.csdn.net/liuyiming_/article/details/7704923 SharedPreferences介绍: SharedPreferences是An ...
- SRSniffer抓包工具的使用
1.打开SRSniffer软件 2.按照1-->2-->3依次点击 3.点击左侧的启动监听按钮 4.打开要记录api的软件,查看效果
- leetcode菜鸡斗智斗勇系列(5)--- 寻找拥有偶数数位的数字
1.原题: https://leetcode.com/problems/find-numbers-with-even-number-of-digits/ Given an array nums of ...
- Ubuntu系统为MySQL开启远程连接
第一步:确保 Ubuntu 系统已经安装上了MySQL数据库.登陆数据库 ,运行如下命令: mysql -u 用户名 -p 然后输入密码,此时登录成功 第二步:创建用户用来远程连接,运行如下命令: G ...