R-6 线性回归模型流程
本节内容:
0:小知识
1:新数据要如何进行分析
2:第二步骤:理解数据
3:第三步骤:相关分析
4:特殊点
0:小知识
0.1:我们说对分析一个数据一般是分步骤的:那么我们可以对其中的步骤进行打标签,也就是跟书签一样。
Ctrl+Shift+r
0.2: 将图形赋值一个变量后,这个变量其中会有图形的一些信息如y轴x轴频数等信息
plot_draw = plot(,,,,)
0.3:如何查看R的新包 登录R官网-->https://mirrors.tongji.edu.cn/CRAN/

一、新数据要如何进行分析

二、第二步骤:理解数据
统计量:summary(energraw) names(energraw) str(energraw)
可视化:对y的变量进行直方图、箱线图
attach(airquality) par(mfrow=c(1,2))
boxplot(Temp,col = 45)
hist(Temp) print(boxplot(Temp,col = 45))
print(hist(Temp))


三、第三步骤:相关分析

3.1:一个一个的做plot
plot(Ozone,Temp,col="tomato",main = "Temp & Ozone")
plot(Temp~Ozone,data = airquality)
abline(lm(Temp~Ozone,data = airquality))
#添加拟合线 系统对y和x做出的解释是怎么样的

3.2:做相关系数矩阵
library(corrgram)
library(mvtnorm)
library(kernlab) ##要使用corrgram 需要安装mvtnorm,kernlab corrgram(qq,order = TRUE,lower.panel = panel.shade,
upper.panel = panel.pie,text.panel = panel.txt,
main="Corrgram of Airquality intercorrelations")

偏相关系数:
#偏相关 我们在研究x1和x2的相关时候,可能会被x3或者其他的变量
#影响到我们对x1和x2的相关系数 ,所以需要对其他的变量进行控制
#控制其他的变量他的影响为0的情况下,x1和x2的相关系数
qq = na.omit(airquality)
cc = cor(qq)
library(igraph)
library(ggm)
cc
pcor(c(1,2,3,5,6),cc) ##0.3523451 控制其他变量得出的相关
cor(qq$Ozone,qq$Solar.R) ##0.3483417

四、数据建模
4.1 设置训练集 和测试集 两种方式
#第一种方式
qq = na.omit(airquality)
train_number = sample(1:nrow(qq),nrow(qq)*0.8) train = qq[train_number,]
test = qq[-train_number,] nrow(test) ##22
nrow(train) ##88 ##第二种方式 train_number2= sample(2,nrow(qq),replace = T,prob = c(0.8,0.1))
train_2 = qq[train_number2,]
test_2 = qq[-train_number2,]

4.2 数据建模,一元线性回归
with(train,plot(Temp,Ozone)) ##可以画出大概的散点图
runif = lm(train$Temp~train$Ozone,data = train)
runif
summary(runif) ##看模型好不一般我们看R方

四、异常点判断
https://zhuanlan.zhihu.com/p/28175779
4.1 离群点判别方法三种
1:做boxplot图
2:学生化残差(studentized residual)
因为该经理想要通过线性回归,来回答广告、定价和销量是否相关的问题,我们也可以通过回归的残差寻找“销量”的特异值。学生化残差是一种标准化的残差,它可以告诉我们哪些数据点的残差较大,超过±3的学生化残差可以被看作可能的离群值。在R软件中,可以使用rstudent()命令计算学生化残差。
3:
library(car)
outlierTest(runif)
R-6 线性回归模型流程的更多相关文章
- R语言解读多元线性回归模型
转载:http://blog.fens.me/r-multi-linear-regression/ 前言 本文接上一篇R语言解读一元线性回归模型.在许多生活和工作的实际问题中,影响因变量的因素可能不止 ...
- R语言解读一元线性回归模型
转载自:http://blog.fens.me/r-linear-regression/ 前言 在我们的日常生活中,存在大量的具有相关性的事件,比如大气压和海拔高度,海拔越高大气压强越小:人的身高和体 ...
- R与数据分析旧笔记(⑨)广义线性回归模型
广义线性回归模型 广义线性回归模型 例题1 R.Norell实验 为研究高压电线对牲畜的影响,R.Norell研究小的电流对农场动物的影响.他在实验中,选择了7头,6种电击强度, 0,1,2,3,4, ...
- R语言 常见模型
转自 雪晴网 [R]如何确定最适合数据集的机器学习算法 抽查(Spot checking)机器学习算法是指如何找出最适合于给定数据集的算法模型.本文中我将介绍八个常用于抽查的机器学习算法,文中还包括各 ...
- (原创)(三)机器学习笔记之Scikit Learn的线性回归模型初探
一.Scikit Learn中使用estimator三部曲 1. 构造estimator 2. 训练模型:fit 3. 利用模型进行预测:predict 二.模型评价 模型训练好后,度量模型拟合效果的 ...
- R语言︱机器学习模型评估方案(以随机森林算法为例)
笔者寄语:本文中大多内容来自<数据挖掘之道>,本文为读书笔记.在刚刚接触机器学习的时候,觉得在监督学习之后,做一个混淆矩阵就已经足够,但是完整的机器学习解决方案并不会如此草率.需要完整的评 ...
- R语言︱机器学习模型评价指标+(转)模型出错的四大原因及如何纠错
笔者寄语:机器学习中交叉验证的方式是主要的模型评价方法,交叉验证中用到了哪些指标呢? 交叉验证将数据分为训练数据集.测试数据集,然后通过训练数据集进行训练,通过测试数据集进行测试,验证集进行验证. 模 ...
- tensorflow入门(1):构造线性回归模型
今天让我们一起来学习如何用TF实现线性回归模型.所谓线性回归模型就是y = W * x + b的形式的表达式拟合的模型. 我们先假设一条直线为 y = 0.1x + 0.3,即W = 0.1,b = ...
- Python机器学习/LinearRegression(线性回归模型)(附源码)
LinearRegression(线性回归) 2019-02-20 20:25:47 1.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...
随机推荐
- 这十道经典Python笔试题,全做对算我输
经常有小伙伴学了Python不知道是否能去找工作,可以来看下这十道题检验你的成果: 1.常用的字符串格式化方法有哪些?并说明他们的区别 a. 使用%,语法糖 print("我叫%s,今年%d ...
- Orleans[NET Core 3.1] 学习笔记(二)Hello World
项目结构 开始Orleans之前,我们都知道Orleans主要可以分为俩部分,Host和Client. 所以我们可以创建如下的项目结构: IGrain 一个包含Grain接口的库(.NET Stand ...
- 大数据学习笔记——Sqoop完整部署流程
Sqoop详细部署教程 Sqoop是一个将hadoop与关系型数据库之间进行数据传输,批量数据导入导出的工具,注意,导入是指将数据从RDBMS导入到hadoop而导出则是指将数据从hadoop导出到R ...
- 小胖求学系列之-文档生成利器(上)-smart-doc
最近小胖上课总是挂着黑眼圈,同桌小张问:你昨晚通宵啦?小胖有气无力的说到:最近开发的项目接口文档没写,昨晚补文档补了很久,哎,昨晚只睡了2个小时.小张说:不是有生成文档工具吗,类似swagger2.s ...
- AJAX中的dataType
参考ajax的api文档 dataType的类型:String ajax中的dataType的属性: text:返回纯文本字符串 json:返回json数据 jsonp:jsonp格式(我没用过) h ...
- WPF布局容器
1.StackPanel:堆栈面板,通过Orientation属性设置子元素的布局排列方向为“Vertical”(垂直)和“Horizontal”(水平),不写其默认值为“Vertical”,当设置为 ...
- 自定义Metadata验证属性
一.定义 using System; using System.Collections.Generic; using System.Linq; using System.Text; using Sys ...
- React-Native踩坑记录二
1.Image组件的borderRadius画圆有平台兼容性问题,在IOS下会失效 解决方法有几种 (1)在外面包裹一层View,对View组件使用borderRadius就可以了,这是我的做法 (2 ...
- 针对上一篇prim最后的完善结果
edge* Graph::prim(int cur) { if (cur >= this->vertexNum) { return NULL; } int *weight = new in ...
- 【戾气满满】Ubuntu 18.04使用QT通过FreeTDS+unixODBC连接MSSQL填坑记(含泪亲测可用)
前言 照例废话几句,想玩下QT,但是学习吧总得想点事情做啊,单纯学习语法用法这些?反正我是学不下去的,脑袋一拍,就先学下怎么连接数据库吧!然而万万没想到,我这是给自己挖了一个深深的坑啊! 学习自然去官 ...