45
随随随随随随 MATLAB 随随随随 随随随随随随随

随机性模型及 MATLAB 统计工具箱 在建模中的应用

Embed Size (px)

DESCRIPTION

随机性模型及 MATLAB 统计工具箱 在建模中的应用. 确定性模型. 随机性模型. 确定性模型和随机性模型. 随机因素可以忽略. 随机因素影响可以简单地以平均值的作用出现. 随机因素影响必须考虑. 概率模型. 统计回归模型. 马氏链模型. 概 率 模 型. 例 : 报童的利润. 报童早上购进报纸零售,晚上将未卖掉的报纸退回。. 零售价 a (=1 元 ). 购进价 b (=0.8 元 ). 退回价 c (=0.75 元 ). 售出一份赚 a-b. 退回一份赔 b-c. 162 天报纸需求量的调查. - PowerPoint PPT Presentation

Citation preview

Page 1: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

随机性模型及MATLAB 统计工具箱

在建模中的应用

Page 2: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

确定性模型和随机性模型随机因素可以忽略随机因素影响可以简单地以平均值的作用出现随机因素影响必须考虑概率模型 统计回归模型 马氏链模型

确定性模型

随机性模型

Page 3: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

概 率 模 型

Page 4: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 : 报童的利润

为了获得最大的利润,报童每天应购进多少份报纸?

162 天报纸需求量的调查

报童早上购进报纸零售,晚上将未卖掉的报纸退回。 购进价b(=0.8元 )

零售价 a (=1元 )

退回价 c(=0.75元 )售出一份赚 a-b 退回一份赔 b-c

199 136 214 195 219 224 197 213 187 187 230 172 227 157 114 156

Page 5: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

问题分析购进太多卖不完退回赔钱购进太少不够销售赚钱少应根据需求确定购进量每天需求量是随机的目标函数应是长期的日平均利润

每天收入是随机的

存在一个合适的购进量

= 每天收入的期望值

随机性优化模型

需求量的随机规律由 162 天报纸需求量的调查得到 每天需求量为 r 的概率 f(r), r=0,1,2…

Page 6: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

模型建立• 设每天购进 n 份,日平均收入为 G(n)

;不退回赚售出若需求量 nbannr )(

n

r nrrnfbarfrncbrbanG

0 1)()()()])(()[()(

求 n 使 G(n) 最大

• 已知售出一份赚 a-b ;退回一份赔 b-c

))(()(

rncbrnrbarnr

赔退回

;赚售出若需求量

))(()( rncbrba 利润:

Page 7: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

n

ndrrnpbadrrprncbrbanG

0)()()()])(()[()(

dndG

r 视为连续变量 概率密度)()()( rprf

0dndG

cbba

drrp

drrp

n

n

)(

)(0

n

ndrrpbadrrpcb

0)()()()(

n

drrpbannpba )()()()(

n

drrpcbnnpba0

)()()()(

模型建立

Page 8: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

模型建立

nndxxpdxxp )()(

0

n

ndxxpdxxp )(1)(

)1()(

)(0

cbba

drrp

drrp

n

n

)2()(

cabadxxp

n

02

2

dnGd 由( 1 )或( 2 )得到的 n 是每

天平均利润最大的最佳购进量。

Page 9: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

cbba

drrp

drrp

n

n

)(

)(0结果解释

n

n PdrrpPdrrp 20 1 )(,)(

n

P1 P2

cbba

PP

2

1取 n使 a-b ~ 售出一份赚的钱 b-c ~ 退回一份赔的钱

nba )(

0 r

p

ncb )(

Page 10: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

MATLAB 统计工具箱常用命令( 一 )命令 名称 输入 输出[n,y]=hist(x,k) 频数表 x: 原始数据行向量

k :等分区间数n: 频数行向量y: 区间中点行向量

hist(x,k) 直方图 同上 直方图m=mean(x) 均值 x: 原始数据行向量 均值m

s=std(x ) 标准差 同上 标准差 s

n

iixn

m1

1 2/12

1

])(1

1[ mxn

sn

ii

Page 11: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

功能 概率密度 分布函数 逆概率分布 均值与方差 随机数生成字符 pdf cdf inv stat rnd

分布 均匀分布 指数分布 正态分布 2

分布 t分布 F分布 二项分布 泊松分布字符 unif exp norm chi2 t f bino poiss

MATLAB 统计工具箱常用命令( 一 )

y=normpdf(1.5,1,2) 正态分布 x=1.5 的概率密度 (=1, =2)

y=fcdf(1,10, 50) F分布 x= 1 的分布函数 ( 自由度 n1=10, n2=50)y =tinv(0.9,10) 概率 =0.9 的逆 t 分布 ( 分位数 , 自由度n=10)

Page 12: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

• 由 计算 n

用 MATLAB 统计工具箱求解报童模型• 根据数据确定需求量的概率分布 p(x)

baotongdata.m

)2()(cabadxxp

n

baotong1.m

Page 13: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

回 归 模 型

Page 14: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

拟合问题实例 给药方案 ——1. 在快速静脉注射的给药方式下,研究血药浓度(单位体积血液中的药物含量)的变化规律。问题2. 给定药物的最小有效浓度和最大治疗浓度,设计给药方案 ( 每次注射剂量 , 间隔时间 ) 。

分析 t (h) 0.25 0.5 1 1.5 2 3 4 6 8

c (g/ml) 19.21 18.15 15.36 14.10 12.89 9.32 7.45 5.24 3.01

实验:血药浓度数据 c(t) (t=0 注射 300mg)

Page 15: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

0 2 4 6 810

0

101

102

半对数坐标系 (semilogy)下 c(t) 的图形

理论:用一室模型研究血药浓度变化规律

为待定系数kcectc kt

,)( 0

负指数规律

拟合问题实例 给药方案 ——

实验数据

t

cc0

0

xueyao1.m实验数据作图

Page 16: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

3. 血液容积 v, t=0 注射剂量 d, 血药浓度立即为 d/v

2. 药物排除速率与血药浓度成正比,比例系数 k(>0)

模型假设1. 机体看作一个房室,室内血药浓度均匀——一室模型

模型建立由假设2

kcdtdc

kte

vdtc )(由假设 3 vdc /)0(

Page 17: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

)(, 1220 ccvDvcD

给药方案 设计• 设每次注射剂量 D, 间隔时间• 血药浓度 c(t) 应 c1 c(t) c2• 初次剂量 D0 应加大 },,{ 0 DD给药方案记作

给定 c1=10, c2=25, 为确定 只需确定参数 k,v},,{ 0 DD

1

2ln1cc

kkecc 21

cc2

c1

0 t

Page 18: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

参数估计 由实验数据拟合曲线 c(t) 以估计 k,v

ktevdtc )( ktvdc )/ln(ln

参数线性化

)/ln(,,ln 21 vdakacy 21 atay

9943.2,2347.0 21 aa

用实验数据作线性最小二乘拟合

)(02.15),/1(2347.0 lvhk )300( d

xueyao2.m

Page 19: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

)(4),(225),(3750 hmgDmgD

思考:取对数化为线性最小二乘 , 对结果有影响吗?

9.3,3.225,5.3750 DD

)(, 1220 ccvDvcD 1

2ln1cc

k

)(02.15),/1(2347.0 lvhk c1=10, c2=25

给药方案 设计

ktevdtc )( ktvdc )/ln(ln

Page 20: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

直线拟合:a=polyfit(x,y,1),b=polyfit(x,z,1),

同一条直线 y=0.33x+0.96(z=0.33x+0.96)

从拟合到回归x=[ 0 1 2 3 4 ], y=[ 1.0 1.3 1.5 2.0 2.3 ] ( + 号 )x=[ 0 1 2 3 4 ], z=[ 0.6 1.95 0.9 2.85 1.8 ] ( *号)

问题:你相信哪个拟合结果?怎样给以定量评价 ?

0 0.5 1 1.5 2 2.5 3 3.5 40.5

1

1.5

2

2.5

3

得到a= 0.33 0.96b= 0.33 0.96

Page 21: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

• 收集一组包含因变量和自变量的数据;• 选定因变量与自变量之间的模型,利用数据

按照最小二乘准则计算模型中的系数;• 利用统计分析方法对不同的模型进行比较,

找出与数据拟合得最好的模型;• 判断得到的模型是否适合于这组数据 , 诊断

有无不适合回归模型的异常数据;• 利用模型对因变量作出预测或解释。

回归分析的主要步骤

Page 22: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

2004 B 题 电力市场的输电阻塞管理确定各线路上潮流关于各发电机组出力的近似表达式

8,6,1),,,( 21 nmjpppfu njj

当前时段各发电机组出力 p1(0), , pn

(0), 线路潮流 uj(0)

)(

)(

)0(

)0(11

1

)0(

)0(

)0(

nnpn

j

pj

jj

pppf

pppf

uu

nn papaa 110

a0

• 答卷中的问题:没有常数项 a0 ;没有统计检验

p(0)

++

+ ++

p0

u a0=0

Page 23: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 1: 血压与年龄、体重指数、吸烟习惯 序号 血压 年龄 体重指数 吸烟习惯 序号 血压 年龄 体重指数 吸烟习惯

1 144 39 24.2 0 21 136 36 25.0 0

2 215 47 31.1 1 22 142 50 26.2 1

3 138 45 22.6 0 23 120 39 23.5 0

10 154 56 19.3 0 30 175 69 27.4 1

体重指数 = 体重 (kg) / 身高 (m) 的平方 吸烟习惯 : 0 表示不吸烟, 1 表示吸烟

建立血压与年龄、体重指数、吸烟习惯之间的回归模型

Page 24: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

模型建立血压 y,年龄 x1 ,体重指数 x2 ,吸烟习惯 x3

3322110 xxxy

y与 x1 的散点图 y与 x2 的散点图线性回归模型回归系数 0, 1, 2, 3 由数据估计 , 是随机误差

Page 25: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

MATLAB 统计工具箱常用命令( 二 ) b=regress(y,X) [b,bint,r,rint,s]=regress(y,X,alpha)

输入 : y~ 因变量 ( 列向量 ), X~1 与自变量组成的矩阵,Alpha~ 显著性水平(缺省时设定为 0.05 )

s: 3 个统计量:决定系数 R2, F值 , F(1,n-2)分布大于F值的概率 p, p< 时回归模型有效 .

输出 :b= ( ), bint: b 的置信区间,r: 残差 ( 列向量 ), rint: r 的置信区间

,ˆ,ˆ10

rcoplot(r,rint) 残差及其置信区间作图MATLAB7.0 版本 s 增加一个统计量 : 剩余方差s2.

Page 26: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

回归系数 回归系数估计值 回归系数置信区间0 45.3636 [3.5537 87.1736]

1 0.3604 [-0.0758 0.7965 ]

2 3.0906 [1.0530 5.1281]

3 11.8246 [-0.1482 23.7973]

R2= 0.6855 F= 18.8906 p<0.0001 s2 =169.7917

模型求解

回归系数 回归系数估计值 回归系数置信区间0 58.5101 [29.9064 87.1138]

1 0.4303 [0.1273 0.7332]

2 2.3449 [0.8509 3.8389]

3 10.3065 [3.3878 17.2253]

R2= 0.8462 F= 44.0087 p<0.0001 s2 =53.6604

剔除异常点(第 2 点和第 10点 )后

xueya01.m

321 3065.103449.24303.05101.58ˆ xxxy

Page 27: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 2 软件开发人员的薪金

资历 ~ 从事专业工作的年数;管理 ~ 1= 管理人员, 0= 非管理人员;教育 ~ 1= 中学, 2= 大学, 3= 更高程度

建立模型研究薪金与资历、管理责任、教育程度的关系分析人事策略的合理性,作为新聘用人员薪金的参考 编号 薪金 资历 管理 教育01 13876 1 1 102 11608 1 0 303 18701 1 1 304 11283 1 0 205 11767 1 0 3

编号 薪金 资历 管理 教育42 27837 16 1 243 18838 16 0 244 17483 16 0 145 19207 17 0 246 19346 20 0 1

46名软件开发人员的档案资料

Page 28: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

分析与假设 y~ 薪金, x1 ~资历(年)x2 = 1~ 管理人员, x2 = 0~ 非管理人员

1= 中学 2=大学3= 更高

其它中学

,,

x01

3

其它大学

,,

x01

4

资历每加一年薪金的增长是常数;管理、教育、资历之间无交互作用

教育

443322110 xaxaxaxaay线性回归模型 a0, a1, …, a4 是待估计的回归系数,是随机误差

中学: x3=1, x4=0 ;大学: x3=0, x4=1 ; 更高: x3=0, x4=0

Page 29: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

模型求解 443322110 xaxaxaxaay

参数 参数估计值 置信区间a0 11032 [ 10258 11807 ]a1 546 [ 484 608 ]a2 6883 [ 6248 7517 ]a3 -2994 [ -3826 -2162 ]a4 148 [ -636 931 ]

R2=0.957 F=226 p=0.000

R2,F, p 模型整体上可用

资历增加 1年薪金增长546 管理人员薪金多 6883

中学程度薪金比更高的少 2994

大学程度薪金比更高的多 148

a4 置信区间包含零点,解释不可靠 !

中学: x3=1, x4=0;

大学: x3=0, x4=1;

更高: x3=0, x4=0.

x2 = 1~ 管理,x2 = 0~ 非管理

x1~资历 ( 年 )

xinjindata.m xinjin.m

Page 30: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

残差分析方法 结果分析443322110 ˆˆˆˆˆˆ xaxaxaxaay

残差 yye ˆ

e 与资历 x1 的关系

0 5 10 15 20-2000

-1000

0

1000

2000

e 与管理—教育组合的关系

1 2 3 4 5 6-2000

-1000

0

1000

2000

残差全为正,或全为负,管理—教育组合处理不当 残差大概分成 3 个水平, 6种管理—教育组合混在一起,未正确反映 应在模型中增加管理 x2与教育 x3, x4 的交互项

组合 1 2 3 4 5 6管理 0 1 0 1 0 1教育 1 1 2 2 3 3

管理与教育的组合

Page 31: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

426325443322110 xxaxxaxaxaxaxaay

进一步的模型 增加管理 x2 与教育 x3, x4 的交互项参数 参数估计值 置信区间

a0 11204 [11044 11363]a1 497 [486 508]a2 7048 [6841 7255]a3 -1727 [-1939 -1514]a4 -348 [-545 –152]a5 -3071 [-3372 -2769]a6 1836 [1571 2101]

R2=0.999 F=554 p=0.000

R2,F 有改进,所有回归系数置信区间都不含零点,模型完全可用

消除了不正常现象 异常数据 (33号 ) 应去掉

0 5 10 15 20-1000

-500

0

500

e ~ x1

1 2 3 4 5 6-1000

-500

0

500

e ~ 组合

Page 32: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

去掉异常数据后的结果参数 参数估计值 置信区间

a0 11200 [11139 11261]a1 498 [494 503]a2 7041 [6962 7120]a3 -1737 [-1818 -1656]a4 -356 [-431 –281]a5 -3056 [-3171 –2942]a6 1997 [1894 2100]R2= 0.9998 F=36701 p=0.0000

0 5 10 15 20-200

-100

0

100

200 e ~ x1

1 2 3 4 5 6-200

-100

0

100

200 e ~ 组合

R2 : 0.957 0.999 0.9998F : 226 554 36701 置信区间长度更短

残差图十分正常最终模型的结果可以应用

xinjindata2.m xinjin1.m

Page 33: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

模型应用 制订 6种管理—教育组合人员的“基础”薪金 ( 资历为0 )

组合 管理 教育 系数 “基础”薪金1 0 1 a0+a3 94632 1 1 a0+a2+a3+a5 134483 0 2 a0+a4 108444 1 2 a0+a2+a4+a6 198825 0 3 a0 112006 1 3 a0+a2 18241

426325443322110 ˆˆˆˆˆˆˆˆ xxaxxaxaxaxaxaay

中学: x3=1, x4=0 ;大学: x3=0, x4=1 ; 更高: x3=0, x4=0

x1= 0 ; x2 = 1~ 管理, x2 = 0~ 非管理

大学程度管理人员比更高程度管理人员的薪金高 大学程度非管理人员比更高程度非管理人员的薪金略低

Page 34: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 3 商品销售量与价格

x1 (元 ) 120 140 190 130 155 175 125 145 180 150

x2 (元 ) 100 110 90 150 210 150 250 270 300 250

y (个 ) 102 100 120 77 46 93 26 69 65 85

某厂生产的一种电器的销售量 y 与竞争对手的价格 x1 及本厂的价格 x2 有关 ,

该商品在 10 个城市的销售记录如下

• 根据数据建立 y与 x1和 x2 的模型 , 对得到的模型和系数进行检验。• 若某市本厂产品售价 160(元 ) ,竞争对手售价 170(元 ), 预测该市的销售量 .

Page 35: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

将 (x1,y),(x2,y) 各10 个点分别画图

y与 x2 有较明显的线性关系, y与 x1之间的关系难以确定需要对模型y=f(x1,x2) 作几种尝试,用统计分析决定优劣。

120 140 160 180 2000

50

100

150

x1

y

50 100 150 200 250 3000

50

100

150

x2

y

例 3 商品销售量与价格

Page 36: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

[b,bint,r,rint,stats]=regress(Y,X,alpha)

例 3 商品销售量与价格 22110 xxy一次函数的回归模型

回归系数 回归系数估计值 回归系数置信区间0 66.5176 [-32.5060 165.5411 ]

1 0.4139 [-0.2018 1.0296 ]

2 -0.2698 [-0.4611 -0.0785 ]

R2= 0.6527 F=6.5786 p= 0.0247 s2= 307.1639

结果不是太好: =0.05 时模型有效,但 =0.01 时模型不能用; R2 较小; 1 的置信区间包含零点。

shangpin.m

Page 37: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

MATLAB 统计工具箱常用命令( 三 )

rstool (x,y, 'model',alpha)

x~n×m 矩阵 , n是数据容量 , y~n维列向量, alpha~ 显著性水平

多元二项式回归

kmkj

jjkmm xxxxy,1

110

model~从以下 4 个模型中选取 : ( 设m=2)

22110:linear xxy 224

21322110:ticpurequadra xxxxy

21322110:ninteractio xxxxy 225

21421322110:quadratic xxxxxxy

Page 38: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

130 140 150 160 170 180-200

-100

0

100

200

300

150 200 250

例 3 商品销售量与价格 x1=[]; x2=[]; x=[x1' x2']; y=[]';rstool(x,y, 'quadratic')

Export~ 向工作区传送参数: beta-- 回归系数,rmse-- 剩余标准差 s, residuals-- 残差 ( 向量 ) ;

Page 39: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

以剩余标准差 rmse 最小为标准,比较 4种模型Model: linear purequadratic interaction quadratic

rmse: 18.7362 16.6436 19.1626 18.60642222

211122110 xxxxy 最终模型

=( -312.5871 7.2701 -1.7337 -0.0228 0.0037 )

例 3 商品销售量与价格

Page 40: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

变量选择 影响因变量的因素: 自变量 x1, x2, xm及其简单函数 , 如 }),2,1{(,/1,2 miexx ixii

• 将所有影响显著的因素都纳入回归模型;• 最终的模型尽量简单 , 即包含尽量少的因素。 变量选择的标准

• 从候选集合 S={x1,…xk} 中选出一子集 S1 (含pk 个自变量 ) 与因变量 y构造回归模型 , 其优劣由 s2度量 .

最小22 ),1/( spnQs

• 影响显著的自变量进入模型时, Q明显下降, s减小;• 影响很小的自变量进入模型时, Q下降不大, p 的增加 会使 s 变大 .

变量选择与逐步回归

Page 41: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

逐步回归• 从候选集合中确定一初始子集;• 从子集外(候选集合内)中引入一个对 y影响显著的;• 对集合中的变量进行检验,剔除影响变得不显著的;• 迭代式地进行引入和剔除,直到不能进行为止。• 选择衡量影响显著程度的统计量,通常用偏 F统计量;• 适当选取引入变量的显著性水平 in 和剔除变量的 out 。• 引入新的变量后原来模型内影响显著的变量变得不

显著,从而被剔除 ~ 自变量之间存在较强相关性的结果 . 某些自变量之间的相关性很强

回归系数的置信区间较大 多重共线性

矩阵 XTX病态

Page 42: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

MATLAB 统计工具箱常用命令( 四 ) 逐步回归 stepwise (x,y,inmodel,penter,premove)

x~候选变量集合的 n×k 数据矩阵( n 是数据容量 , k 是变量数目) ; y~ 因变量数据向量( n维) ; Inmodel~初始模型中包括的候选变量集合的指标(矩阵 x 的列序数,缺省时设定为全部候选变量) ; penter~引入变量的显著性水平(缺省时设定为0.05) ; premove~剔除变量的显著性水平(缺省时设定为 0.10 )。输出交互式画面

Page 43: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 儿童的体重与身高和年龄序号 体重 (kg) 身高 (m) 年龄 序号 体重 (kg) 身高 (m) 年龄

1 27.1 1.34 8 7 30.9 1.39 102 30.2 1.49 10 8 27.8 1.21 93 24.0 1.14 6 9 29.4 1.26 104 33.4 1.57 11 10 24.8 1.06 65 24.9 1.19 8 11 36.5 1.64 126 24.3 1.17 7 12 29.1 1.44 9

1 1.2 1.4 1.6 1.820

25

30

35

40

6 7 8 9 10 11 1220

25

30

35

40

可能存在二次函数关系

体重y

身高 x1

体重 y

年龄 x2

Page 44: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

例 儿童的体重与身高和年龄 ertong.m

初始结果

最终结果 2221 2380.06849.23289.58287.25ˆ xxxy

Page 45: 随机性模型及 MATLAB  统计工具箱 在建模中的应用

谢谢大家!