Re: [問題] stata 邏輯迴歸的預測機率

看板Statistics作者 (Kirin)時間16年前 (2009/12/07 06:13), 編輯推噓0(000)
留言0則, 0人參與, 最新討論串2/2 (看更多)
舉例來說(資料是虛擬的),有三個變數: 1.有沒有投票(Vote),0是沒有投票,1是有投票; 2.年齡(Age); 3.受教育年數(Edu)。 執行logit和prgen後會出現畫面如下: . logit Vote Age Edu Logistic regression Number of obs = 9120 LR chi2(2) = 46.47 Prob > chi2 = 0.0000 Log likelihood = -3126.0974 Pseudo R2 = 0.0074 ------------------------------------------------------------------- vote | Coef. Std. Err. z P>|z| [95% Conf. Interval] -------+----------------------------------------------------------- Age | .0125808 .0018889 6.66 0.000 .0088787 .0162829 Edu | .0021033 .0114655 0.18 0.854 -.0203687 .0245753 _cons | -2.722784 .1936766 -14.06 0.000 -3.102383 -2.343184 ------------------------------------------------------------------- . prgen Age, gen(Age) logit: Predicted values as Age varies from 18 to 89. Age Edu x= 46.082018 12.635088 這兩個值代表分析資料的平均年齡是46.08歲, 平均受教育年數是12.64年。 在資料畫面裡(browse)會多出三個變數, 每個都有11個觀察值,如下: Agex Agep0 Agep1 18 .921994 .078006 25.1 .9153228 .0846772 32.2 .9081377 .0918622 39.3 .9004094 .0995906 46.4 .8921082 .1078918 53.5 .8832047 .1167953 60.6 .8736706 .1263294 67.7 .8634785 .1365215 74.8 .8526028 .1473972 81.9 .8410203 .1589797 89 .8287104 .1712896 Agex是把資料內全部受訪者的年齡全距分為11等分。 你並不一定要用全距,也不一定要用11等分,例如: 「prgen Age, f(1) t(100) ncases(20) gen(Age)」 這個語法就是從1歲到100歲分為20等分, 那麼Agex、Agep0、Agep1就都會產生20個觀察值。 agep1是指在「Age=Agex」且「Edu=平均數」時有去投票的機率。 第1列的Agep1是: 0.078006=1/{1+exp[-1*(-2.7227 + 0.0126 * 18 + 0.0021 * 12.6351)]} ------- ------ -- ------ ------- _cons Age Agex Edu Edu coef. coef. mean agep0是指在「Age=Agex」且「Edu=平均數」時沒去投票的機率。 第1列的Agep0則是: 0.921994=1-0.078006 必須注意的是,這11列資料排列與原本資料並沒有關係。 所以你會發現在原本資料裡, 第1列的受訪者並不是18歲,第2列的也並不是25.1歲, 而Agex、Agep0和Agep1的資料從第12個受訪者起就都是遺漏值。 如果想估計原資料內每位受訪者去投票的機率要用「predict p1」, 這個語法會依照每位受訪者實際的年齡和教育程度來估計投票機率。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.33.213.179
文章代碼(AID): #1B72nn0- (Statistics)
文章代碼(AID): #1B72nn0- (Statistics)