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.线性回归简介 线性回归定义: 百科中解释 我个人的理解就是:线性回归算法就是一个使用线性函数作为模型框架($ ...
随机推荐
- A.Two Rival Students
题目:两个竞争的学生 链接:(两个竞争的对手)[https://codeforces.com/contest/1257/problem/A] 题意:有n个学生排成一行.其中有两个竞争的学生.第一个学生 ...
- tensorflow处理mnist(二)
用卷积神经网络解决mnist的分类问题. 简单的例子 一行一行解释这个代码. 这个不是google官方的例子,但是很简洁,便于入门.tensorflow是先定义模型,最后赋值,计算.为了讨论问题方便, ...
- Orleans 初接触(二) 测试用例
[返回导航] 在简单了解了Orleans 之后我们可以通过几个例子去加深印象 一.快速入门示例 这个例子也是跟着<Microsoft Orleans 之 入门指南>(https://www ...
- Spring Bean Scope (作用域)
singleton: 单例模式,针对每个spring容器,只有一个该类的实例被管理,每次调用此实例都是同一个对象被返回,所以适用于无状态bean.默认情况下,singleton作为spring容器中b ...
- super()派生使用中的常见两个错误
""" super()派生可以继承父类的属性 --super()派生继承父类的语法是:super().__init__() --super().__init__()中的_ ...
- 比较typeof与instanceof
相同点: JavaScript中typeof和instanceof常用来判断一个变量是否为空,或者是什么类型的. 不同点: typeof的定义和用法: 返回值是一个字符串,用来说明变量的数据类型. 细 ...
- cmake常用命令总结
最近研究了下cmake,总结了一些常用命令,方便以后快速查找. project(projectname [CXX] [C] [Java]): 设置工程名. set(VAR [VALUE] [CACHE ...
- 一起学Spring之注解和Schema方式实现AOP
概述 在上一篇,我们了解了通过实现接口和XML配置的方式来实现AOP,在实现注解方式AOP之前,先了解一下AspectJ.AspectJ是一个面向切面的框架,它扩展了Java语言,定义了AOP语法,能 ...
- C#程序编写高质量代码改善的157个建议【16-19】[动态数组、循环遍历、对象集合初始化]
前言 软件开发过程中,不可避免会用到集合,C#中的集合表现为数组和若干集合类.不管是数组还是集合类,它们都有各自的优缺点.如何使用好集合是我们在开发过程中必须掌握的技巧.不要小看这些技巧,一旦在开 ...
- 爬虫(九):python操作MySQL、MongoDB
1. python操作MySQL 1.1 MySQL基础 在java基础部分就写过了. https://www.cnblogs.com/liuhui0308/p/11891844.html 1.2 p ...