Stata的曲线拟合
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
exit
/ 3 退出
replace‘1’= (1 + B 0) / (1 + B 0 3 exp ( B 1 3‘2’) )
/ 3 写出方程 ,其中‘2’表示自变量
end
/ 3 程序结束
将该程序以文本格式存入一个文件 , 如 d : \ m y data
. nl myprog y x
\ prog. do 。拟合曲线过程如下 。
691310 - 91081
91507
01000 01001 01001
〔93150455 ,10113085〕 〔- 11410683 , - 60164956〕 〔013310329 , 0016041296〕
3 Parameter b0 taken as constant term i n model & A N OV A table
断 。本例拟合结果为 :
本资料的特点是 :这里以锌浓度 0 为对照 ,此时设
. gra y yhat x , c ( . s) s (0. ) x l ab ( 0 , 1 , 2 , 3 , 4 , 5 , 增殖率 y = 1 ,这就要求拟合的曲线需经过 (0 , 1) 点 ;当
6 ,7) ylab (50 ,60 ,70 ,80 ,90 ,100)
11 军医进修学院医学统计学教研室 (100853) 21 南通医学院 (226001)
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
Chinese Journal of Healt h Statistics ,J une 2000 ,Vol. 17 ,No . 3
型拟合的方差分析表 , F = 179164 , 两个自由度分别 2 和 4 , P = 010001 。结果中还给出了模型拟合的 R2 ,校
巧用 Stata 对任意曲线进行拟合
正 R2 ,剩余标准差 。根据估计的系数 ,得回归方程 :
事实上 , Stata 可拟合任意曲线 , 它给用户提供了
^y = 9714065 - 8713589 ×014676 x
Total
1317115995
6
例 1 锡克氏反应的阳性率随儿童年龄增加而升 N umber of obs = 7
高 。某地查得 1~7 岁儿童的资料如下 ,拟合 3 参数指 数曲线 。
年龄 (岁)
1234567
锡克氏阳性率 5711 7610 9019 9310 9617 9516 9612
这里 ,fcn 表示函数名 , 可以是 Stata 自定义的 , 也可以 是用户自定义的 。Stata 自定义的函数有 :
指数函数 :
exp3 / 3 3 参数指数函数 , y = b0 + b1 ×b2x
exp2
/ 3 2 参数指数函数 , y = b1 ×b2x
exp2 a
. nlpred yhat
度 ( x ) 的锌对其增殖率 ( y) 的影响 。结果如下 :
yhat 是用户自己定义的 y 的估计值 。曲线拟合的效 x : 0 4 6 8 10 16
果 ,不能仅从拟合优度来判断 , 必须结合回归图来判 y : 1 01966 01814 01492 01119 0
level ( # ) :指定假设检验的水准和可信区间的可信度
( obs = 7)
init ( …) :指定参数的初值 Inlsq ( # ) :指定按对数最小二乘法估计参数
Iteration 0 :residual S S = 24710226 …………
eps( # ) :指定收敛界限 ,缺省值为 le - 05 (0100001) 。
( obs = 6)
首先在 wenku.baidu.comtata 中运行该文件 :
. do \ m ydata \ prog. do end of do - f ile
此时再用 nl 命令估计方程 :
Iteration 0 : resi dual S S = 11505654 Iteration 1 : resi dual S S = 015250294 ………… Iteration 14 : resi dual S S = 010011422
·174 ·
·计算机应用·
中国卫生统计 2000 年 6 月第 17 卷第 3 期
Stata 的 曲 线 拟 合
姚 晨1 陈 峰2 顾海雁2
Stata 是一个用于分析和管理数据的功能强大又 小巧玲珑的实用程序 , 由美国计算机资源中心 (Com2 puter Resource Center) 研制 。它同时具有数据管理 、统 计分析 、绘图 、矩阵计算和程序语言的特点 , 又在许多 方面别具一格 ,加之操作灵活 、简单 , 越来越受到人们 的欢迎和重视 。本文介绍如何用 Stata 拟合曲线 。
·175 ·
3 - Parameter asy m ptotic regression , y = b0 + b1 3 b2x
y
Coef .
Std. Err.
t
P > | t|
95 % Conf . I nterval
b0
97140651
b1
- 87135894
b2
014675812
11405378 91619992 01049181
曲线拟合是反映两变量间量变关系的重要手段 。 Stata 统计软件提供了 3 种曲线的拟合 , 另外给用户提 供了一个开发的空间 , 用户可根据自己的需要进行程 序设计 ,结合 Stata 提供的绘图功能 , 用户可得到精美 的拟合图 (本文图形即是用 Stata 完成的) 。
Stata 提供的曲线拟合
一个开发的空间 。我们通过一个例子来说明如何用
或表示为 :
Stata 拟合其他类型的曲线 。
^y = 9714065 - 8713589 ×e - 017602 x
例 2 (过定点的 logistic 回归) 为研究锌对细胞增
Stata 用于曲线拟合值估计的预测命令是 nlpred 。 殖的影响 ,取小白鼠中脑细胞作体外培养 ,观察不同浓
y
Coef .
Std. Err.
t
P > | t|
95 % Conf . I nterval
b0
01001215
b1
018533859
010004259 010439805
21853 191404
01046 01000
〔010000326 ,010023974〕 〔017312763 ,019754954〕
b1 b2 ×( x -
b3) 〕
gom4 gom3
/ 3 4 参数 Gompertz 函数 , y = b0 + b1 ×e - e - b2 ×( X - b3) / 3 3 参数 Gompertz 函数 , y = b1 ×e - e - b2 ×( X - b3)
其他选择项有 :
. n1 exp3 y x
浓度增加时 ,细胞的增殖逐渐减弱 ,直至停止增殖 。结
合散点的趋势 , 本例选择过定点 (0 , 1) 的 logistic 回归
模型 :
y
=
1 +α 1 +αebx
该模型在 x = 0 时 , y = 1 ;当 x →∞时 , y →0 , 满足
资料提出的要求 。拐点为 ln
1 a
。
Stata 用于拟合任意曲线的程序基本结构是 :
3 ( S E’s , P val ues , CI’s , and correlations are asy m ptotic approxi m ations)
其余内容与上例相似 。拟合的方程为 :
注意 ,这里用户定义的程序名为 m y prog , 但在定
^y
=
1
+
1 + 01001215 01001215 e018534 x
global B 0 = 011
/ 3 定义参数的初值
global B 1 = 1
/3
global S 2 “ This is a cu rve across a given poi nt :”
/ 3 打印一个程序说明
global S 3 “ S E depv = (1 + B0) / (1 + B0 3 exp ( B1 3‘2’) ) ”/ 3 打印拟合的方程
Iteration 8 :residual S S = 14150299
nolog :指定不打印迭代过程 。 trace :指定打印每次迭代的部分结果
Source Model
SS
df
1302165697
2
iterate ( # ) :指定最大迭代次数
Residual
1415029864
4
resid :在 nl pred 中指定计算残差而不是预测值
( %)
F (2 ,4) = 179164 Prob > F = 010001 R2squared = 019890 A dj R - squared = 019835 Root M S E = 11904139 Res. dev . = 24196425
MS
6511328484 316257466 2191526659
/ 3 2 参数指数函数 , y = b1 ×(1 - b2x)
logistic 函数 :
log4
/
3 4 参数 logistic 函数 , y = b0 + 1 + exp〔-
b1 b2 ×( x -
b3) 〕
log3 Gompertz 函数 :
/
3 3 参数 logistic 函数 , y = 1 + exp〔-
© 1994-2010 China Academic Journal Electronic Publishing House. All rights reserved. http://www.cnki.net
·176 ·
中国卫生统计 2000 年 6 月第 17 卷第 3 期
Source
SS
df
Stata 提供了 3 种指数函数 、2 种 logistic 函数 、2 种 Gompertz 函数的拟合 ,另外还提供了拟合任意曲线 的方法 。本节介绍 Stata 提供的曲线的拟合 。
Stata 用于曲线拟合的命令为 :
nl fcn 因变量 自变量 〔选择项〕 nlpred 预测变量 〔,resid〕
. nl p red yhat
. gra y yhat x , c ( . s) s ( o. ) density (6) x l ab (0 , 2 , 4 , 6 ,
8 ,10 ,12 ,14 ,16) yl ab (0 ,0125 ,015 ,0175 ,1) b2 ( ti me)
义程序名时 ,需冠以 nl ,以告知 stata 该程序用于非线 性拟合的 ,同时在命令 p rogram list nl m y p rog 及 p ro2 gram d rop nl m y p rog 中也要加上 nl 。而在用 nl 估计 方程时 ,不需要加 nl ;在 nl 的结果中给出的文件名亦 无 nl 。
( S E’s , P val ues , CI’s , and correlations are asy m ptotic approxi m ations)
在迭代过程中 , Stata 给出了每一步剩余离均差平 根据拟合优度和回归图判断 , 3 参数指数曲线拟
方和的值 ,它最后收敛在 14150299 。结果中给出了模 合的效果是满意的 。
MS
Model
2185083486
2
1142541743
Residual 01001142206
4
01000285551
Total
2185197707
6
01475329512
N u m ber of obs = 6
F (2 ,4) = 4991181
Prob > F = 010000 R2squared = 019996 A dj R - squared = 019994 Root M S E = 010168983 Res. dev . = - 34137206 This is a cu rve across a given poi nt : y = (1 + B 0) / (1 + B 0 3 exp ( B 1 3 x) )
图 1 锡克氏反应阳性率与儿童年龄的指数函数拟合
program def ine nl myprog / 3 定义程序名 myprog
if“‘1’”= =“ ?”
/ 3‘1’表示因变量 ,
global S 1“B 0 B 1”
/ 3 定义参数