最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

組軌跡模型(GBTM)的SAS實(shí)現(xiàn)與編程技巧

2023-08-31 15:06 作者:統(tǒng)計(jì)_碎碎念  | 我要投稿

? 今天,通過(guò)一個(gè)實(shí)例,來(lái)展示SAS實(shí)現(xiàn)組軌跡模型。

? 首先,SAS自帶的Proc過(guò)程步?jīng)]有實(shí)現(xiàn)組軌跡模型的程序,需要從網(wǎng)站上下載“Proc Traj”過(guò)程步進(jìn)行安裝,該程序其由Bobby L. Jones團(tuán)隊(duì)創(chuàng)作(這里再次跪拜大神,網(wǎng)址奉上:http://www.contrib.andrew.cmu.edu/~bjones/download.htm)。

一、SAS Proc Traj安裝過(guò)程

  1. 查看自己的SAS版本(打開(kāi)SAS就可以看到)

2.選擇適合自己的版本,小編這里選擇64位版本的trajv9-64.zip(網(wǎng)站網(wǎng)速可能比較慢,需要的小伙伴也可以后臺(tái)私信小編)。

3.下載并解壓文件夾,其中traj.dll為SAS過(guò)程步文件,trajplot.sas,trajplotnew.sas,dropoutplot.sas和trajtest.sas為traj.dll配套使用的宏程序。

4. 找到SAS過(guò)程步dll格式文件和宏程序按照路徑。我的位置在“C:\Program Files\SAShome\SASFoundation\9.4\core\sasexe”將traj.dll文件復(fù)制進(jìn)該文件夾;將trajplot.sas,trajplotnew.sas,dropoutplot.sas和trajtest.sas宏程序復(fù)制進(jìn)“C:\Program Files\SAShome\SASFoundation\9.4\core\sasmacro”(SAS自帶宏都儲(chǔ)存在該文件夾下,自動(dòng)調(diào)用)。

5.打開(kāi)SAS嘗試輸入程序語(yǔ)句,發(fā)現(xiàn)Proc traj字樣和Model字樣都有了SAS過(guò)程步的顏色,即為按照成功。

二、組軌跡模型實(shí)戰(zhàn)

? 某研究者對(duì)學(xué)生的心理狀況進(jìn)行了評(píng)估,共進(jìn)行了7學(xué)年的隨訪。T1-T7為評(píng)估學(xué)年,O1- O7為心理評(píng)估得分,得分范圍為0~10分,得分越高心理狀況越好。

研究目的:在7個(gè)評(píng)估學(xué)年中,學(xué)生的心理發(fā)展軌跡。

SAS數(shù)據(jù)格式整理如下:

1.數(shù)據(jù)導(dǎo)入及轉(zhuǎn)化操作

?

proc import datafile="&path_raw\實(shí)例數(shù)據(jù).xlsx"

?? out=dataset dbms=xlsx replace;

?? getnames=yes;

run;

*寬形數(shù)據(jù)轉(zhuǎn)化為長(zhǎng)形數(shù)據(jù)以便繪圖;

data plot1;

?? set dataset ;

?? array vv {*} O1-O7;

?? array tt {*} t1-t7;

?? do i = 1 to dim(vv);

?? idd=id;

?? time=tt(i);

?? value=vv(i);

?? output;

?? end;

?? keep time value idd;

run;

?

2.窺探數(shù)據(jù)分布,描述數(shù)據(jù)分布情況、缺失情況、發(fā)展情況。

?

proc means data =dataset n nmiss mean stddev

?? stderr min p25 median p75 max qrange clm;

?? var O1-O7 T1-T7;

run;

proc sgplot data = plot1;

?? vbox value / group=time ;

run;

ods html dpi=300;

proc sgplot data = plot1;

?? vline time / response=value group=idd ;

run;

3. SAS的語(yǔ)法結(jié)構(gòu)

(1)組軌跡模型可適用的數(shù)據(jù)分布類(lèi)型:PROC TRAJ可以擬合刪失正態(tài)分布(CNORM)、β分布(BETA)、零膨脹Poisson分布(ZIP)和伯努利分布(LOGIT)。本研究因變量為心理評(píng)估得分,估擬合CNORM模型。

(2)PROC TRAJ基本語(yǔ)法結(jié)構(gòu):

PROC TRAJ /option調(diào)用組軌跡模型。

OUT= 輸出組分配和成員概率數(shù)據(jù)集(可根據(jù)此數(shù)據(jù)集計(jì)算平均后驗(yàn)概率)。

OUTPLOT=軌跡圖數(shù)據(jù)(根據(jù)此數(shù)據(jù)集可以進(jìn)行個(gè)性化繪圖)。

OUTSTAT=軌跡組的參數(shù)估計(jì)數(shù)據(jù)集。

OUTEST=參數(shù)和協(xié)方差矩陣估計(jì)數(shù)據(jù)集。

ITDETAIL 顯示用于監(jiān)控模型擬合進(jìn)度的最小化迭代。

ci95m 估計(jì)95%置信區(qū)間。

ID:一般指研究對(duì)象唯一個(gè)案,這里可以為OUT=數(shù)據(jù)集中,想保留的變量。

VAR:因變量。

INDEP:測(cè)量因變量(VAR)時(shí)的自變量(如年齡、時(shí)間)。

MODEL:因變量分布(BETA、CNORM、ZIP、LOGIT),例如MODEL CNORM。

MIN:CNORM分布特有,指定刪失值的最小值。

MAX:CNORM分布特有,指定刪失值的最大值。

NGROUPS:擬合軌跡組數(shù)量。

ORDER:軌跡組的形態(tài)參數(shù),每個(gè)軌跡組的多項(xiàng)式 (0=intercept, 1=linear, 2=quadratic, 3=cubic)。

?

(3)建立模型

考慮需要擬合多個(gè)組軌跡模型,為了模型擬合的方便性和便捷性,建議有基礎(chǔ)的小伙伴采用宏程序處理。

小編構(gòu)建了宏名稱(chēng)為%traj_M()的宏程序,包含data,id,avepp,EST,plot,stat,VAR,INDEP,NGROUPS,ORDER,title 11個(gè)宏參數(shù)。程序中%TRAJPLOTnew()為Proc traj 配套使用的繪圖宏程序。

%macro traj_M(data,id,avepp,EST,plot,stat,VAR,INDEP,NGROUPS,ORDER,title);

PROC TRAJ DATA=&data. OUTPLOT=&plot. OUT=&avepp. OUTSTAT=&stat.

?????????? OUTEST=&EST. ITDETAIL ci95m;

??? ID &id.;

??? VAR &VAR.;

??? INDEP &INDEP.;

??? MODEL CNORM;

??? min 0;

??? MAX 10; NGROUPS &NGROUPS.; ORDER &ORDER.;

RUN;

?

proc sort data = &avepp.; by group;run;

?

ods html dpi=300;

%TRAJPLOTnew(&plot.,&stat.,"ZBMI",'Cnorm Model','BMI','Time(month)');

quit;

%mend;

(4)構(gòu)建2~6組軌跡,軌跡形態(tài)分別為linear, quadratic, cubic的模型。也就是我們需要構(gòu)建15個(gè)組軌跡模型。小編以擬合3組軌跡模型分別是cubic的示例:

%let data =dataset;/*調(diào)用的數(shù)據(jù)集名稱(chēng)*/

%let prefix=test_;/*輸出數(shù)據(jù)集的前綴*/

%let VAR=O1-O7;/*因變量*/

%let INDEP=T1-T7;/*時(shí)點(diǎn)*/

%let id=ID;/*ID*/

%let postfix=3_333;/*輸出數(shù)據(jù)集的后綴*/

%let n_grp=3;/*3組軌跡模型*/

/*1.擬合3-333軌跡模型*/

%traj_M(data=&data.,id=&id.,avepp=&prefix.avepp_&postfix.,EST=&prefix.est_&postfix.,plot=&prefix.plot_&postfix.,stat=&prefix.stat_&postfix.,VAR=&var.,INDEP=&INDEP.,NGROUPS=&n_grp.,ORDER=3 3 3,title="&postfix.")

%traj_M直接輸出的結(jié)果和圖形,我們需要利用這些結(jié)果和圖形計(jì)算模型的評(píng)價(jià)指標(biāo),%Traj_Assess是小編寫(xiě)的計(jì)算模型擬合指標(biāo)的宏程序,可以直接計(jì)算所有擬合指標(biāo):

數(shù)據(jù)集:&prefix.avepp_&postfix.結(jié)果

數(shù)據(jù)集:&prefix.plot_&postfix.結(jié)果

數(shù)據(jù)集:&prefix.est_&postfix.結(jié)果

數(shù)據(jù)集:&prefix.stat_&postfix.結(jié)果

%TRAJPLOTnew 宏輸出圖形

/*2.輸出模型的擬合信息*/

%Traj_Assess(avepp=&prefix.avepp_&postfix.,stat=&prefix.stat_&postfix.,est=&prefix.est_&postfix.,base=M_select,label="&postfix.");

小編自寫(xiě)%Traj_Assess宏程序可以直接輸出組軌跡模型擬合指標(biāo)。

/*3.個(gè)性化繪制圖形*/

%Traj_plot(plot=&prefix.plot_&postfix.,stat=&prefix.stat_&postfix.,group=3,traj1=A,traj2=B,traj3=C);

SAS自帶的%TRAJPLOTnew繪圖確實(shí)不夠美觀,小編又自寫(xiě)了個(gè)宏程序繪圖,置信區(qū)間有點(diǎn)寬哈。

(5)結(jié)果輸出

利用小編寫(xiě)的SAS輸出word宏程序%out_word_begin結(jié)合表格定制%Tab_report宏程序,一鍵制作高質(zhì)量三線表。

?

%let rtfname=&path_raw.\%TRIM(%QSYSFUNC(date(),yymmdd10))—組軌跡模型結(jié)果.doc;? ?

ods results;

%out_word_begin(&rtfname.,orientation=portrait);

%Tab_report(data=M_select1,vars=traj_num avepp pro BIC dif_BIC entropy_K,outputwidth=,

?? title="表1 多組軌跡模型的擬合效果評(píng)價(jià)指標(biāo)",GRP=,GRPfmt=y.,dt=dataset,where=ingroup=1);

%Tab_report(data=Est_3,vars=gg param est_c STDERR_c t_c p_C,outputwidth=,title="表 組軌跡模型參數(shù)估計(jì)",GRP=,GRPfmt=y.,dt=dataset,where=ingroup=1);

%out_word_end(&rtfname.);

最終呈現(xiàn)格式:以下表格均為SAS宏程序自動(dòng)輸出(包括:斜體,寬度、特殊字符),未進(jìn)行人工干預(yù)!

表1多組軌跡模型的擬合效果評(píng)價(jià)指標(biāo)
表2組軌跡模型參數(shù)估計(jì)

……

需要數(shù)據(jù)聯(lián)系的同學(xué),私信小編!以上宏程序均小編本人撰寫(xiě),幫你快速實(shí)現(xiàn)組軌跡模型的構(gòu)建和結(jié)果的報(bào)告!

關(guān)注微信公眾號(hào),獲取更多相關(guān)內(nèi)容!


程序編寫(xiě)、文字編寫(xiě):天涯二毛君

審稿:老陳


組軌跡模型(GBTM)的SAS實(shí)現(xiàn)與編程技巧的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
宣化县| 新沂市| 遂溪县| 铜鼓县| 凤凰县| 龙海市| 江都市| 长春市| 托克托县| 临沭县| 湖州市| 扬中市| 吉林市| 南城县| 高淳县| 永仁县| 黄大仙区| 昌黎县| 寻乌县| 福鼎市| 三台县| 塔河县| 伊宁市| 平远县| 虎林市| 弥渡县| 安溪县| 长垣县| 玉屏| 武汉市| 赞皇县| 舟曲县| 长兴县| 芜湖县| 宜川县| 呼伦贝尔市| 沙田区| 灵璧县| 那曲县| 稷山县| 什邡市|