ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • Ordinal Regression
    Archive/통계&코딩이것저것 2021. 10. 13. 10:51

    출처: 위키피디아 

     

    ordinal regression (also called "ordinal classification") 은 회귀와 분류의 중간에 위치. ordinal variable (값 자체가 아니라 값들 사이의 순서만이 중요한 변수) 을 예측하는데 쓰인다. ordinal logit 과 ordinal probit이 ordinal reg. 의 한 예이다.

     

    사회과학의 n점 척도(1: very poor, 5: excellent) 를 모델링하는 문제에서 많이 쓰인다. 머신러닝에서는, ranking learning이라고도 한다. 


    Linear models for ordinal regression

    Ordinal regression은 계수벡터와 threshold(실수들을 k개의 단절된 세그먼트(척도)로 나누게 하는 기준) 를 피팅하는 GLM을 이용해 실행된다. 길이가 p인 x벡터 n개와, y1부터 yn이 있다고 가정해보자. 여기서 yi는 K점 척도인 ordinal variable이다. 단순성을 위해, y 가 non-decreasing vector라고 가정한다. 이 데이터에서, 길이p의 계수벡터 w와 threshold를 적합한다. (threshold θ1 < θ2 < ... < θK−1.) 

     

    모델은 다음과 같당.

    이 모형을 설명하면 끝날거 같다...

    로짓 모형을 기억하자. 

     

    $$logit(p_i) = \alpha + \beta x$$

     

    pi를 모든 실수 범위로 만들기 위해서 logit 을 썼고, 실수 범위는 선형 식으로 표현이 된다. 이 논리를 똑같이 적용하겠다.

     

    • let G: 어떤 분포의 CDF, G: R -> [0, 1] (R: 실수, 실수를 0과 1사이의 수로 mapping)

    e ~ G 인 확률변수라고 가정하자. (연속형 변수)

    e를 이산형 순서로 만들기 위해 threshold를 이용한다. (\theta)

    ex) -무한대<e<w(\theta_1\)이면 y=1

     

    따라서 \(e<\theta_2\)면 y=1또는2

     

    $$P(e<\theta_2)=p(y=1 or y=2)$$

     

    여기서 X의 효과를 반영시킨다. y*를 가정하자.

     

    $$ y*=x \beta + e$$

     

    e는 여전히 G를 따르고, x의 효과에 따라서 z가 움직이고, 움직인 후에 어떤 threshold에 위치하느냐에 따라서 y를 결정하게 된다.

    $$P(y <= 2) = P(y* <= \theta_2)$$

    $$P(y <= 2) = P(z <= \theta_2) = P(x\beta + e <= \theta2) = P(e <= \theta2 - x\beta) = G(\theta_2 - x\beta)$$

     

    여기서 G를 로지스틱 분포라고 가정하면, G는 시그모이드 함수니까 위의 모델처럼 된다.

     

    thanks to 바닐라승환

     

     

     

     

     

     

Designed by Tistory.