로지스틱 회귀 분석을위한 행렬 표기법


15

선형 회귀 (제곱 손실)에서 행렬을 사용하면 목표에 대해 매우 간결한 표기법이 있습니다.

minimize  Axb2

여기서 A 는 데이터 행렬이고 x 는 계수이고 b 는 반응입니다.

로지스틱 회귀 목표에 대해 유사한 행렬 표기법이 있습니까? 내가 본 모든 표기법은 모든 데이터 포인트 ( \ sum _ {\ text data} \ text {L} _ \ text {logistic} (y, \ beta ^ Tx) 와 같은 합계를 제거 할 수 없습니다 dataLlogistic(y,βTx).


편집 : joceratops와 AdamO의 큰 답변에 감사드립니다. 그들의 대답은 선형 회귀가 더 간결한 표기법을 갖는 또 다른 이유를 이해하는 데 도움이되었습니다. 정사각형과 합 또는 e ^ \ top e 를 캡슐화하는 규범의 정의 때문 ee입니다. 그러나 로지스틱 손실에는 그러한 정의가 없으므로 표기법이 조금 더 복잡해집니다.

답변:


18

선형 회귀 분석에서 를 추정하기위한 MLE (Maximity Likelihood Estimation) 솔루션 에는 다음과 같은 닫힌 형태 솔루션이 있습니다 (A는 전체 열 순위를 갖는 행렬이라고 가정).x

x^lin=argminxAxb22=(ATA)1ATb

이것은 " 목표 함수, 를 최소화 하는 를 찾으십시오"라고 읽습니다 . 이런 식으로 선형 회귀 목적 함수를 표현할 때 좋은 점은 모든 것을 행렬 표기법으로 유지하고 을 손으로 해결할 수 있다는 것 입니다. Alex R.이 언급했듯이 실제로 는 계산적으로 비효율적이고 가 전체 순위 기준을 충족하지 않기 때문에 직접 고려 하지 않는 경우가 많습니다. 대신에, 우리는 Moore-Penrose pseudoinverse로 돌린다 . 의사 역수에 대한 계산 계산의 세부 사항에는 Cholesky 분해 또는 특이 값 분해가 포함될 수 있습니다.xAxb22X ( T ) - 1x^lin(ATA)1A

또는 로지스틱 회귀 분석에서 계수를 추정하기위한 MLE 솔루션은 다음과 같습니다.

x^log=argminxi=1Ny(i)log(1+exTa(i))+(1y(i))log(1+exTa(i))

어디서 (각 데이터 샘플이 행 단위로 저장되어 있다고 가정) :

x 는 회귀 계수를 나타내는 벡터입니다.

a(i) I t H 는 데이터 행렬 의 샘플 / 행을 나타내는 벡터입니다ithA

y(i) { 0 , 1 } i t h i t h 에서 스칼라 및 라벨에 대응하는 샘플{0,1}ithith

N 은 데이터 매트릭스 의 데이터 샘플 수 / 행 수입니다 .A

다시 이것은 " 목표 함수를 최소화하는 찾기"로 읽습니다 .x

원한다면 한 단계 더 나아가 다음과 같이 행렬 표기법으로 를 나타낼 수 있습니다.x^log

x^log=argminx[1(1y(1))1(1y(N))][log(1+exTa(1))...log(1+exTa(N))log(1+exTa(1))...log(1+exTa(N))]

그러나 당신은 이것을함으로써 아무것도 얻지 못합니다. 로지스틱 회귀에는 닫힌 형식 솔루션이 없으며 선형 회귀와 행렬 표기법으로 표시하는 것과 같은 이점을 얻지 못합니다. 그라디언트 디센트 및 Newton-Raphson 방법과 같은 추정 기술 을 해결하기 위해 사용됩니다. 이러한 기법 중 일부 (예 : Newton-Raphson)를 사용하여 는 근사치이며 행렬 표기법으로 표시됩니다 ( Alex R에서 제공하는 링크 참조 ).x^logx^log


큰. 감사. 우리가 푸는 것과 같은 것이없는 이유는 행렬 표기법을 만들고 합계 기호를 피하기 위해 그 단계를 더 거치지 않는 이유라고 생각합니다. AAx=Ab
Haitao Du

한 걸음 더 나아갈 수 있다는 이점이 있습니다. 행렬 곱셈으로 코드를 단순화하면 모든 데이터를 합한 루프를위한 matlab과 같은 많은 플랫폼에서 행렬 연산보다 속도가 훨씬 느립니다.
Haitao Du

5
@ hxd1011 : 작은 의견 : 행렬 방정식으로 줄이는 것이 항상 현명한 것은 아닙니다. 의 경우 , 실제로 역행렬을 찾고 시도해서는 안 , 오히려 훨씬 더 빠르고 수치 적으로 안정 될 것 촐레 분해 그런 짓을. 로지스틱 회귀의 경우 실제로 행렬 계산을 사용하는 여러 가지 반복 구조가 있습니다. 훌륭한 검토를 위해 여기를 참조하십시오 : research.microsoft.com/en-us/um/people/minka/papers/logreg/…ATAx=ATbATA
Alex R.

1
@AlexR. 대단히 감사합니다. 정규 방정식을 사용하면 행렬 조건 수가 제곱이된다는 것을 알았습니다. 그리고 QR이나 Cholesky가 훨씬 나을 것입니다. 귀하의 링크는 훌륭합니다. 숫자 방법을 사용한 그러한 검토는 항상 내가 원하는 것입니다.
Haitao Du

15

@joceratops answer은 추정 가능성의 최대 최적화 문제에 중점을 둡니다. 이것은 실제로 여러 유형의 문제를 처리 할 수있는 유연한 접근 방식입니다. 선형 및 로지스틱 회귀 모형을 포함한 대부분의 모형을 추정하기 위해 모멘트 추정 방법을 기반으로하는 또 다른 일반적인 접근 방식이 있습니다.

선형 회귀 추정기는 추정 방정식의 근간으로 공식화 할 수도 있습니다.

0=XT(YXβ)

이와 관련하여 는 평균 잔차 0을 검색하는 값으로 간주됩니다.이 해석을 위해 기본 확률 모델에 의존 할 필요는 없습니다. 그러나 정상적인 가능성에 대한 점수 방정식을 도출하는 것은 흥미 롭습니다. 실제로 위에 표시된 형식을 그대로 사용한다는 것을 알 수 있습니다. 선형 모형 (예 : 선형 또는 로지스틱 회귀)에 대한 정규 지수 계열의 가능성을 최대화하는 것은 점수 방정식에 대한 해를 얻는 것과 같습니다.β

0=i=1nSi(α,β)=βlogL(β,α,X,Y)=XT(Yg(Xβ))

여기서 는 값을 예상했습니다 . GLM 추정에서 는 링크 함수의 역수라고합니다. 정규 우도 방정식에서 은 항등 함수이고, 로지스틱 회귀에서는 은 로짓 함수입니다. 보다 일반적인 접근 방식은 모델 오 사양을 허용하는 하는 것입니다.Yig(Xiβ)gg1g10=i=1nYg(Xiβ)

또한 정규 지수 계열의 경우 를 평균-분산 관계라고합니다. 실제로 로지스틱 회귀 분석의 경우 평균 분산 관계는 평균 가 의한 분산과 관련이있는 평균 분산 관계입니다 . 이것은 모델이 잘못 지정된 GLM을 0 평균 피어슨 잔차를 제공하는 것으로 해석하는 것을 나타냅니다. 이것은 또한 비례하지 않는 기능적 평균 미분과 평균-분산 관계를 허용하는 일반화를 제안합니다.g(Xβ)β=V(g(Xβ))p=g(Xβ)var(Yi)=pi(1pi)

일반화 추정 방정식 방법은 다음과 같은 방법으로 선형 모델을 지정합니다 :

0=g(Xβ)βV1(Yg(Xβ))

사용하면 의해 주어진 (평균)를 기반으로하는 분산 행렬입니다 . 이러한 추정 방법은 GLM과 같이 링크 함수와 평균 분산 관계를 선택할 수 있습니다.Vg(Xβ)

로지스틱 회귀 분석에서 는 역 로짓이고 는 로 주어집니다 . Newton-Raphson이 얻은이 추정 방정식에 대한 해 는 로지스틱 회귀에서 얻은 를 산출합니다 . 그러나 유사한 프레임 워크에서 다소 광범위한 모델 클래스를 추정 할 수 있습니다. 예를 들어, 회귀 계수가 승산 비가 아닌 상대 위험 이되도록 링크 함수를 선형 예측 변수 의 로그 로 사용할 수 있습니다 . 잘 설명 된 OR을 RR로 해석하는 데 따르는 함정을 감안할 때, 왜 누군가가 더 이상 로지스틱 회귀 모델에 적합한 지 묻게되었습니다.gViig(Xiβ)(1g(Xβ))β


1
+1 좋은 답변입니다. 파생 상품에 대한 근본 발견으로 공식화하면 정말 새롭습니다. 두 번째 방정식은 정말 간결합니다.
Haitao Du
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.