SAS学习 day6

回归分析

建模流程:

数据预处理 →数据探索 →模型选择 →残差检验、共线性诊断、强影响点判断  → 模型修正→ 模型预测

                                                            残差近似服从正态分布   

1、数据探索

  • 拟合分布  pp图
  • 散点图  研究y和x的线性关系
  • 相关系数

 

拟合分布

认为氧气消耗量为y变量  其余因素作为因变量

proc univariate data = reg.b_fitness;
var Runtime -- Performance;
histogram Runtime -- Performance / normal; 直方图 统计上看
probplot Runtime -- Performance / normal (mu=est sigma=est color=red w=2);  pb图  图形上看
run;

 

 将七个变量的直方图  pb图都画出来    如果不是正态关系 要进行正态的转换

 散点图

proc gplot data = reg.b_fitness;
plot oxygen_consumption * (runtime age weight run_pulse
  rest_pulse maximum_pulse performance)
  /vaxis = axis1 haxis=axis2;
 symbol v=dot h=2 w=4 color=red;
 run;

 

相关系数

proc corr data = reg.b_fitness rank;
var runtime age weight run_pulse
  rest_pulse maximum_pulse performance;
with oxygen_consumption;  注意with with后的变量和with前变量的关系
 run;

 

 

  与performance正相关相关系数0.86

 有相关关系才有必要建立回归模型

简单线性回归

 模型公式: Y = B0 + B1*X + e   其中e服从正态分布  期望值为0

零假设  B1 = 0

备选假设: B1不等于0

 

1、回归程序

proc reg data= reg.b_fitness;
model oxygen_consumption=performance;  y变量是等号左边的 oxygen
run;

 F检验检验整个方程是否有意义

 

r方表示 可以解释74%的点

T检验检验系数B有没有意义    下图pvalue显示都有意义

 

2、预测值和置信区间

data need_predictions;
input performance @@;
datalines;
0 3 6 9 12
;
run;
第一步data步 将数据 0 3 6 9 12保存在need_predictions表中 data predoxy;
set reg.b_fitness need_predictions; run;
第二步data步 将原数据集和需要预测的数据集合并 proc reg data
= predoxy; model oxygen_consumption = performance / p; p表示预测的意思 id performance; run;

 

 

点估计的置信区间

proc reg data = predoxy;   
model oxygen_consumption = performance / clm cli alpha=.05;
id name performance;
plot oxygen_consumption*performance / conf pred;
symbol1 c =red v=dot;
symbol2 c =red;
symbol3 c =blue;
symbol4 c =blue;
symbol5 c =green;
symbol6 c =green;
run;

 

clm总体均值的置信区间

cli 观测值的置信区间   alpha 置信度水平

红线 线性方程 蓝线 均值置信区间   绿线 预测值 置信区间

 

posted @ 2019-02-19 20:22  碎纸屑  阅读(318)  评论(0编辑  收藏  举报