Py学习  »  Git

Stata学习:如何构建潜在类别Logit模型?lclogit2

Stata与R学习 • 1 年前 • 221 次点击  

下载包

  • Enhanced module to estimate latent class logit models via EM algorithm
ssc install lclogit2, replace

文献来源

latent class logit model。理论详见原文3.2节。

  1. Choi, H., et al. (2024). Heterogeneous public preferences for undergrounding high-voltage power transmission lines: The case of Seoul metropolitan area in South Korea
    1. Appendix F. Supplementary data【数据+Stata】

1. 求类别数量

示例代码

cd C:\Download\1-s2.0-S0140988324001567-mmc1\survey_data_code
import exc conjoint_data, first clear 

* find number of classes(Q)
forv i = 2(1)7{
lclogit2 Choice  if  cohort_wide == 1 , ///
        rand(TOW_per DEEP_m LOC_res LOC_edu VIS_no COVER_yes Cost_per) ///
	gr(gid) id(ID) ncl(`i') ///
	mem(Tower_exist Transmission_500 House_own Income_H House_member Kids Male Age10 Edu  p_conflict p_inclusion   p_health p_eco)

mat b = e(b) 
mat ic = nullmat(ic) \ `e(nclasses)', `e(ll)', `=colsof(b)', `e(aic)', `e(caic)', `e(bic)'
}
mat colnames ic = "Classes" "LLF" "Nparam" "AIC" "CAIC" "BIC" 
matlist ic, name(columns)

得到结果

  Classes        LLF     Nparam        AIC       CAIC        BIC 
----------------------------------------------------------------
        2  -5752.812         28   11561.62   11711.98   11683.98 
        3  -5440.236         49   10978.47    11241.6    11192.6 
        4  -5341.238         70   10822.48   11198.37   11128.37 
        5  -5254.592         91   10691.18   11179.85   11088.85 
        6  -5202.171        112   10628.34   11229.77   11117.77 
        7  -5161.597        133   10589.19   11303.39   11170.39 

期刊排版

2. 估计参数

示例代码

lclogit2 Choice  if  cohort_wide == 1 , ///
        rand(TOW_per DEEP_m LOC_res LOC_edu VIS_no COVER_yes Cost_per) ///
	gr(gid) id(ID) ncl(4) ///
	mem(Tower_exist Transmission_500 House_own Income_H House_member Kids Male Age10 Edu p_inclusion p_health p_econ)

mat start = e(b)

lclogitml2 Choice  if  cohort_wide == 1 , ///
        rand(TOW_per DEEP_m LOC_res LOC_edu VIS_no COVER_yes Cost_per) ///
	gr(gid) id(ID) ncl(4) ///
	mem(Tower_exist Transmission_500 House_own Income_H House_member Kids Male Age10 Edu  p_conflict p_inclusion   p_health p_econ)

* class probability
lclogitpr2 cp_Result ,cp

* estimate wtp 
lclogitwtp2, cost (Cost_per)

得到结果




    
Latent class model with 4 latent classes

Choice model parameters and average classs shares
-------------------------------------------------
    Variable |  Class1   Class2   Class3   Class4 
-------------+-----------------------------------
     TOW_per |   0.010    0.005    0.025    0.014 
      DEEP_m |   0.047    0.008    0.312    0.039 
     LOC_res |  -2.420    0.174   -0.826    0.842 
     LOC_edu |  -2.507    0.175   -0.631    0.618 
      VIS_no |   0.372    0.010    0.943    0.189 
   COVER_yes |   0.267    0.328    0.706    0.659 
    Cost_per |  -0.076   -0.444   -0.084   -0.005 
-------------+-----------------------------------
 Class Share |   0.161    0.341    0.127    0.371 
-------------------------------------------------

Class membership model parameters : Class4 = Reference class
-------------------------------------------------
    Variable |  Class1   Class2   Class3   Class4 
-------------+-----------------------------------
Coef of      |                                   
 Tower_exist |  -0.816   -0.452   -0.528    0.000 
Transmis~500 |  -0.306   -0.110   -0.788    0.000 
   House_own |   0.276   -0.122   -0.668    0.000 
    Income_H |  -0.107   -0.297   -0.296    0.000 
House_member |  -0.044   -0.031    0.022    0.000 
        Kids |  -1.302   -0.727   -0.179    0.000 
        Male |  -0.319    0.006   -0.761    0.000 
       Age10 |  -0.221    0.073   -0.026    0.000 
         Edu |   0.000   -0.013    0.053    0.000 
 p_inclusion |   0.639   -0.229    0.800    0.000 
    p_health |  -0.034    0.159    0.205    0.000 
      p_econ |   0.037   -0.067   -0.195    0.000 
       _cons |  -1.178    2.877   -2.081    0.000 
-------------------------------------------------

Note: Model estimated via EM algorithm

期刊排版


(完)

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/167554
 
221 次点击