回归插补法_用均值替换、 回归插补及多重插补进行插补
##设置工作空间
#把“数据及程序” 文件夹复制到F盘下, 再用setwd设置工作空间
setwd("F: /数据及程序/chapter4/示例程序")
#读取销售数据文件, 提取标题行
inputfile=read.csv('./data/catering_sale.csv', he=T)
#变换变量名
inputfile=data.frame(sales=inputfile$'销量', date=inputfile$'日期')
#数据截取
inputfile=inputfile[5: 16, ]
#缺失数据的识别
is.na(inputfile) #判断是否存在缺失
n=sum(is.na(inputfile) ) #输出缺失值个数#异常值识别
par(mfrow=c(1, 2) ) #将绘图窗口划为1行两列, 同时显示两图
dotchart(inputfile$sales) #绘制单变量散点图
boxplot(inputfile$sales, horizontal=T) #绘制水平箱形图
#异常数据处理
inputfile$sales[5] =NA #将异常值处理成缺失值
fix(inputfile) #表格形式呈现数据
#缺失值的处理
inputfile$date=as.numeric(inputfile$date) #将日期转换成数值型变量
sub=which(is.na(inputfile$sales) ) #识别缺失值所在行数
inputfile1=inputfile[-sub, ] #将数据集分成完整数据和缺失数据两部分inputfile2=inputfile[sub, ]#行删除法处理缺失, 结果转存result1=inputfile1#均值替换法处理缺失, 结果转存avg_sales=mean(inputfile1$sales) #求变量未缺失部分的均值
inputfile2$sales=rep(avg_sales, n) #用均值替换缺失
result2=rbind(inputfile1, inputfile2) #并入完成插补的数据
#回归插补法处理缺失, 结果转存
model=lm(sales~date, data=inputfile1) #回归模型拟合
inputfile2$sales=predict(model, inputfile2) #模型预测
result3=rbind(inputfile1, inputfile2)
#多重插补法处理缺失, 结果转存
library(lattice) #调入函数包library(MASS)library(nnet)
library(mice) #前三个包是mice的基础
imp=mice(inputfile, m=4) #4重插补, 即生成4个无缺失数据集
fit=with(imp, lm(sales~date, data=inputfile) ) #选择插补模型
pooled=pool(fit)
summary(pooled)
result4=complete(imp, action=3) #选择第三个插补数据集作为结果
回归插补法_用均值替换、 回归插补及多重插补进行插补相关推荐
- 回归插补法_没有完美的数据插补法,只有最适合的
数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法.没有完美的数据插补法,但总有一款更适合当下情况. 我在数据清理与探索性分析中遇到的最常见问题之一就是 ...
- 大学老师谈小学数学(二):大灰狼分饼 vs 多退少补法_拔剑-浆糊的传说_新浪博客...
大学老师谈小学数学(二):大灰狼分饼 vs 多退少补法 -- 拔剑,2015/06/20 [问题]大毛和小毛共有10个饼,小毛比大毛多2个,问各有几何? ======================= ...
- idea代码补全_不想得手指关节炎?帮你提炼IDEA常用代码补全操作
一.常用的代码补全操作 1..for和.fori(for 循环遍历) 输入args.for回车(args是一个数组或集合类),则会生成for循环遍历: 输入args.fori回车,则会生成带有索引的f ...
- 门限回归模型的思想_面板门限回归模型及Stata
门限回归模型(Threshold Regressive Model,简称TR模型或TRM)是汤家豪于1978年提出了门限自回归模型后进一步将这一思想扩展到回归模型中 .门限回归模型的基本思想是通过门限 ...
- python 线性回归回归 缺失值 忽略_机器学习 第3篇:数据预处理(使用插补法处理缺失值)...
插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...
- python均值插补法填补缺失值_R语言笔记(四):特殊值处理
输入数据后,我们就能在 R 中对数据进行一系列的操作了.但现实获得的第一手数据往往都是不完整.不整齐的,比如存在数据本身缺失值.离群值,数据框存在冗余行或列,抑或数据需要进一步加工才能获取有意义的变量 ...
- python预处理缺失值_数据预处理 第3篇:数据预处理(使用插补法处理缺失值)...
插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...
- 数据预处理 第3篇:数据预处理(使用插补法处理缺失值)
插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...
- sklearn_逻辑回归制作评分卡_菜菜视频学习笔记
逻辑回归制作评分卡 3.0 前言 逻辑回归与线性回归的关系 消除特征间的多重共线性 为什么使用逻辑回归处理金融领域数据 正则化的选择 特征选择的方法 分箱的作用 3.1导库 3.2数据预处理 3.2. ...
最新文章
- LNMP架构——OpenResty实现缓存前移(到达Nginx前端层面)
- 机器学习中对抗性攻击的介绍和示例
- mac 香港购买分享
- 中国汽车零部件行业需求预测及投资前景建议报告2022-2028年版
- 剑桥大学工程硕士的安排
- linux 增加lv大小,Linux增加LV(逻辑卷)容量
- Linux学习第二步(Java环境安装)
- php mysql修复_MySQL数据表损坏的巧妙修复
- hdu 4738 桥
- 一般拦截器 serviceImpl部分
- ORACLE使用批量插入100万测试数据
- 初入java编程-面向对象
- javascript 获得本地 IP 地址
- Nginx+Tomcat负载平衡
- USB 公,母头接口
- 消防物联网,为逆行英雄守住第一道生命线
- 数据库概论之无损分解
- 股票交易接口api的协议
- linux系统怎么禁用键盘,Linux下禁用笔记本自带键盘和touchpad
- Python对excel文件批量加密(GUI选择)