##设置工作空间

#把“数据及程序” 文件夹复制到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) #选择第三个插补数据集作为结果

回归插补法_用均值替换、 回归插补及多重插补进行插补相关推荐

  1. 回归插补法_没有完美的数据插补法,只有最适合的

    数据缺失是数据科学家在处理数据时经常遇到的问题,本文作者基于不同的情境提供了相应的数据插补解决办法.没有完美的数据插补法,但总有一款更适合当下情况. 我在数据清理与探索性分析中遇到的最常见问题之一就是 ...

  2. 大学老师谈小学数学(二):大灰狼分饼 vs 多退少补法_拔剑-浆糊的传说_新浪博客...

    大学老师谈小学数学(二):大灰狼分饼 vs 多退少补法 -- 拔剑,2015/06/20 [问题]大毛和小毛共有10个饼,小毛比大毛多2个,问各有几何? ======================= ...

  3. idea代码补全_不想得手指关节炎?帮你提炼IDEA常用代码补全操作

    一.常用的代码补全操作 1..for和.fori(for 循环遍历) 输入args.for回车(args是一个数组或集合类),则会生成for循环遍历: 输入args.fori回车,则会生成带有索引的f ...

  4. 门限回归模型的思想_面板门限回归模型及Stata

    门限回归模型(Threshold Regressive Model,简称TR模型或TRM)是汤家豪于1978年提出了门限自回归模型后进一步将这一思想扩展到回归模型中 .门限回归模型的基本思想是通过门限 ...

  5. python 线性回归回归 缺失值 忽略_机器学习 第3篇:数据预处理(使用插补法处理缺失值)...

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  6. python均值插补法填补缺失值_R语言笔记(四):特殊值处理

    输入数据后,我们就能在 R 中对数据进行一系列的操作了.但现实获得的第一手数据往往都是不完整.不整齐的,比如存在数据本身缺失值.离群值,数据框存在冗余行或列,抑或数据需要进一步加工才能获取有意义的变量 ...

  7. python预处理缺失值_数据预处理 第3篇:数据预处理(使用插补法处理缺失值)...

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  8. 数据预处理 第3篇:数据预处理(使用插补法处理缺失值)

    插补法可以在一定程度上减少偏差,常用的插补法是热卡插补.拟合插补和多重插补.拟合插补,要求变量间存在强的相关性:多重插补(MCMC法),是在高缺失率下的首选插补方法,优点是考虑了缺失值的不确定性. 一 ...

  9. sklearn_逻辑回归制作评分卡_菜菜视频学习笔记

    逻辑回归制作评分卡 3.0 前言 逻辑回归与线性回归的关系 消除特征间的多重共线性 为什么使用逻辑回归处理金融领域数据 正则化的选择 特征选择的方法 分箱的作用 3.1导库 3.2数据预处理 3.2. ...

最新文章

  1. LNMP架构——OpenResty实现缓存前移(到达Nginx前端层面)
  2. 机器学习中对抗性攻击的介绍和示例
  3. mac 香港购买分享
  4. 中国汽车零部件行业需求预测及投资前景建议报告2022-2028年版
  5. 剑桥大学工程硕士的安排
  6. linux 增加lv大小,Linux增加LV(逻辑卷)容量
  7. Linux学习第二步(Java环境安装)
  8. php mysql修复_MySQL数据表损坏的巧妙修复
  9. hdu 4738 桥
  10. 一般拦截器 serviceImpl部分
  11. ORACLE使用批量插入100万测试数据
  12. 初入java编程-面向对象
  13. javascript 获得本地 IP 地址
  14. Nginx+Tomcat负载平衡
  15. USB 公,母头接口
  16. 消防物联网,为逆行英雄守住第一道生命线
  17. 数据库概论之无损分解
  18. 股票交易接口api的协议
  19. linux系统怎么禁用键盘,Linux下禁用笔记本自带键盘和touchpad
  20. Python对excel文件批量加密(GUI选择)

热门文章

  1. goland 调试运行路径
  2. NetworkOnMainThreadException异常
  3. HTML5网页上播放mp4失败的原因
  4. python print进度条效果
  5. matlab转c++
  6. windows下sse性能对比
  7. MySQL从入门到搞定实战
  8. java stack empty_java.util.Stack.empty()方法实例
  9. 使用Python读写kafka
  10. Mybatis教程-实战看这一篇就够了