1、R安装shell
R for Mac OS
函数
http://mirror.bjtu.edu.cn/cran/ 学习
RStudio
测试
2、线性回归基础spa
翻阅《高中数学必修三 --- 变量的相关性》code
eg1:get
凭咱们的学习经验可知,物理成绩确实与数学成绩有必定的关系。可是除此以外,还存在其余影响物理成绩的因素,例如,,是否喜欢物理,用再物理学习上的时间等
数学
eg2:io
商品销售收入与广告支出经费之间的关系,商品销售收入与广告支出经费有着密切的联系。可是还有不少其余因素table
eg3:
粮食产量与施肥量之间的关系。在必定范围内,施肥量越大,粮食产量就越高,可是施肥量并非影响粮食产量的惟一因素。
年龄 | 23 | 27 | 39 | 41 | 45 | 49 | 50 |
脂肪 | 9.5 | 17.8 | 21.2 | 25.9 | 27.5 | 26.3 | 28.2 |
年龄 | 53 | 54 | 56 | 57 | 58 | 60 | 61 |
脂肪 | 29.6 | 30.2 | 31.4 | 30.8 | 33.5 | 35.2 | 34.6 |
人体的脂肪含量与年龄之间的有怎样的关系?
首先咱们作散点图。以x轴表示年龄,y轴表示脂肪。(本身作散点图,)
从散点图,能够看出,它们散布在从左下角到右上角的区域。对于两个变量的这种相关关系,咱们称之为正相关。还有一些变量,例如汽车的重量和汽车每消耗lL汽油所行驶的平均路程,称为负相关。
从散点图能够看出,这些点大体分布在经过散点图中心的一条直线附近。若是散点图中心分布从总体上看大体在一条直线附近,咱们就称这两个变量之间具备线性相关关系,这条直线称为回归直线(regression line).若是可以求出这条回归直线的方程(回归方程),那么咱们就比较清楚了解年龄与脂肪的关系。
最小二乘法
实际上,求回归方程的关键是如何用数学的方法刻画“从总体上看,各点到此直线的距离最小”
假设该直线为 y = bx + a
注意:
(x1,y1)(x2,y2)...(xi,yi).. 一个个点。到直线的距离,咱们能够用点到直线的距离算出,可是这个比较复杂。
因此第一个简化==> 点(xi,yi) ,垂直向上,或垂直向下到直线的距离 yi - y = yi - (bxi + a)
可是yi - y 有正负之分,因此咱们第二次简化,算平方
Q = (y1 - bx1 - a)^2 + (y2 - bx2 - a)^2 + .... + (yi - bxi - a)^2 + ...
只要计算出使得Q的最小的a和b,就能获得该回归方程。
能够使用偏导数计算得出a,b
a = ...
b = ...
b是回归直线的斜率,a是截距
相关关系的强弱
咱们知道不是全部两个变量的关系都是线性的,如何判断是否能使用线性回归呢?
统计中用相关系数r来衡量两个变量之间的线性关系强弱。
r = ...
统计学认为 若是 r <- [-1,-0.75] 那么负相关很强, r<- [-0.75,-0.30] 负相关性通常, r<- [-0.25,0.25] 相关性弱,
r <- [0.75,1] 那么正相关很强, r<- [0.30,0.75] 正相关性通常,
3、RStudio测试
数据:
研究婴儿生理发育issue,并收集了10名婴儿在出生后一年内的月龄和体重数据。
年龄(月) | 01 | 03 | 05 | 02 | 11 | 09 | 03 | 09 | 12 |
体重(kg) | 4.4 | 5.3 | 7.2 | 5.2 | 8.5 | 7.3 | 6.0 | 10.4 | 10.2 |
03 |
6.1 |
咱们用c()函数以向量的形式输入月龄和体重 > x_age=c(1,3,5,2,11,9,3,9,12,3) > y_weight=c(4.4,5.3,7.2,5.2,8.5,7.3,6.0,10.4,10.2,6.1) > mean(y_weight) => 计算平均数 [1] 7.06 > sd(y_weight) => 计算标准差 [1] 2.077498 > cor(x_age,y_weight) => 计算相关性 [1] 0.9075655 > plot(x_age,y_weight) => 画散点图 > cor_xy = lm(y_weight~x_age + 1) => 设置拟合曲线方程式 > plot(cor_xy) => 画回归直线 > coef(cor_xy) => 计算回归直线的斜率和截距 (Intercept) x_age 4.3596206 0.4655827 > z = data.frmae(x_age=13) > predict(cor_xy,z) => 咱们来预测13个月的婴儿的体重