다항 회귀 분석을 수행하는 대신 여러 이진 로지스틱 회귀 분석을 수행 할 수 있습니까? 이 질문에서 : 다항 로지스틱 회귀 분석 대 1 대 나머지 이항 로지스틱 회귀 분석 다항식 회귀 분석에서 표준 오차가 낮을 수 있습니다.
그러나 내가 사용하고 싶은 패키지는 다항 회귀로 일반화되지 않았 으므로 ( ncvreg
: http://cran.r-project.org/web/packages/ncvreg/ncvreg.pdf ) 간단하게 할 수 있는지 궁금합니다. 대신 이진 로지스틱 회귀 분석
답변
다항 로짓 모형을 사용하면 모든 예측 확률이 1까지 더해지는 구속 조건을 부과합니다. 별도의 이진 로짓 모형을 사용할 때 더 이상 해당 구속 조건을 부과 할 수 없으며, 결국 별도의 모형으로 추정됩니다. 이것이 두 모델의 주요 차이점입니다.
아래 예에서 볼 수 있듯이 (Stata에서는 가장 잘 알려진 프로그램이므로) 모델은 비슷하지만 동일하지 않은 경향이 있습니다. 예측 확률을 추정하는 데 특히주의해야합니다.
// some data preparation
. sysuse nlsw88, clear
(NLSW, 1988 extract)
.
. gen byte occat = cond(occupation < 3 , 1, ///
> cond(inlist(occupation, 5, 6, 8, 13), 2, 3)) ///
> if !missing(occupation)
(9 missing values generated)
. label variable occat "occupation in categories"
. label define occat 1 "high" ///
> 2 "middle" ///
> 3 "low"
. label value occat occat
.
. gen byte middle = (occat == 2) if occat !=1 & !missing(occat)
(590 missing values generated)
. gen byte high = (occat == 1) if occat !=2 & !missing(occat)
(781 missing values generated)
// a multinomial logit model
. mlogit occat i.race i.collgrad , base(3) nolog
Multinomial logistic regression Number of obs = 2237
LR chi2(6) = 218.82
Prob > chi2 = 0.0000
Log likelihood = -2315.9312 Pseudo R2 = 0.0451
-------------------------------------------------------------------------------
occat | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
high |
race |
black | -.4005801 .1421777 -2.82 0.005 -.6792433 -.121917
other | .4588831 .4962591 0.92 0.355 -.5137668 1.431533
|
collgrad |
college grad | 1.495019 .1341625 11.14 0.000 1.232065 1.757972
_cons | -.7010308 .0705042 -9.94 0.000 -.8392165 -.5628451
--------------+----------------------------------------------------------------
middle |
race |
black | .6728568 .1106792 6.08 0.000 .4559296 .889784
other | .2678372 .509735 0.53 0.599 -.7312251 1.266899
|
collgrad |
college grad | .976244 .1334458 7.32 0.000 .714695 1.237793
_cons | -.517313 .0662238 -7.81 0.000 -.6471092 -.3875168
--------------+----------------------------------------------------------------
low | (base outcome)
-------------------------------------------------------------------------------
// separate logits:
. logit high i.race i.collgrad , nolog
Logistic regression Number of obs = 1465
LR chi2(3) = 154.21
Prob > chi2 = 0.0000
Log likelihood = -906.79453 Pseudo R2 = 0.0784
-------------------------------------------------------------------------------
high | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
race |
black | -.5309439 .1463507 -3.63 0.000 -.817786 -.2441017
other | .2670161 .5116686 0.52 0.602 -.735836 1.269868
|
collgrad |
college grad | 1.525834 .1347081 11.33 0.000 1.261811 1.789857
_cons | -.6808361 .0694323 -9.81 0.000 -.816921 -.5447512
-------------------------------------------------------------------------------
. logit middle i.race i.collgrad , nolog
Logistic regression Number of obs = 1656
LR chi2(3) = 90.13
Prob > chi2 = 0.0000
Log likelihood = -1098.9988 Pseudo R2 = 0.0394
-------------------------------------------------------------------------------
middle | Coef. Std. Err. z P>|z| [95% Conf. Interval]
--------------+----------------------------------------------------------------
race |
black | .6942945 .1114418 6.23 0.000 .4758725 .9127164
other | .3492788 .5125802 0.68 0.496 -.6553598 1.353918
|
collgrad |
college grad | .9979952 .1341664 7.44 0.000 .7350339 1.260957
_cons | -.5287625 .0669093 -7.90 0.000 -.6599023 -.3976226
-------------------------------------------------------------------------------
답변
“한 대 모든”접근 방식을 시도 할 수 있습니다.이 방법을 사용하면 클래스만큼 많은 이진 분류기를 훈련 할 수 있습니다. 각 분류 자에 대해 양수 샘플은 해당 클래스에 속하는 샘플이고 나머지는 음수이므로 각 로지스틱 분류기는 콘크리트 샘플이 해당 클래스에 속하는 조건부 확률을 제공합니다.
이제 분류 할 때 해당 분류자가 가장 높은 확률을 제공하는 클래스에 각각의 새 샘플을 할당합니다.