나는 선험적 인 기대를 따르지 않을 수도있는 매개 변수 추정치가있는 모델의 산출물로 작업하고 있습니다. 필자는 이러한 유틸리티 예상치를 이러한 기대치와 부합하도록 만드는 함수를 작성하고자합니다. 이렇게하려면이 함수는 시작 값과 새 추정값 간의 제곱의 편차 합계를 최소화해야합니다. 우리는 선천적 expections을 가지고 있기 때문에, 최적화는 다음과 같은 제약 조건이 적용되어야한다 :제약 조건을 사용하여 최적화
B0 < B1
B1 < B2
...
Bj < Bj+1
는 예를 들어, 원시 매개 변수 추정은 아래 B2 및 B3에 대한 flipflopped된다. Delta
및 Delta^2
열은 원래 매개 변수 추정과 새 계수 간의 편차를 보여줍니다. 열 Delta^2
을 최소화하려고합니다. 내가 Excel의 해 찾기 일련의 제약을 제공하는이 문제 최적화 얼마나 Excel에서 이것을 코딩 표시했습니다 ?optim
및 ?constrOptim
을 통해 읽은 후
Beta BetaRaw Delta Delta^2 BetaNew
B0 1.2 0 0 1.2
B1 1.3 0 0 1.3
B2 1.6 -0.2 0.04 1.4
B3 1.4 0 0 1.4
B4 2.2 0 0 2.2
을, 나는이를 설정하는 방법을 grok 수 할 수 아니에요 R. 나는 조금 밀도가 높을 것이라고 확신하지만 올바른 방향으로 몇 가지 포인터를 사용할 수 있습니다!
3/24/2012 - 첫 번째 대답을 번역 할만큼 영리하지 않아서 현상금을 추가했습니다.
올바른 경로에 있어야하는 R 코드가 있습니다.
betas <- c(1.2,1.3,1.6,1.4,2.2)
가 나는 기능은 우리가 원래 베타의를 통과하면, 손실이 0이어야 작동 표시하려면 다음 함수 등이 b0 <= b1 <= b2 <= b3 <= b4
f <- function(x) {
x1 <- x[1]
x2 <- x[2]
x3 <- x[3]
x4 <- x[4]
x5 <- x[5]
loss <- (x1 - betas[1])^2 +
(x2 - betas[2])^2 +
(x3 - betas[3])^2 +
(x4 - betas[4])^2 +
(x5 - betas[5])^2
return(loss)
}
을 최소화하려면 다음 베타로 시작한다고 가정 :
어떤 임의의 입력이> f(betas)
[1] 0
그리고 비교적 큰 :
012,394을 내가 Excel에서 계산할 수 있었다 값에 9,932,671,915,최소화 : 목적이 차하고 제약 선형, 당신이 solve.QP
을 사용할 수 있습니다
> f(c(1.2,1.3,1.4,1.4,2.2))
[1] 0.04
리플렉션에서 실제로는 로지스틱 회귀 (http : //en.wikipedia.org/wiki/Ordered_logit). 패키지'MASS'에서'polr' 함수는 이러한 문제를 해결할 수 있습니다. http://www.stat.washington.edu/quinn/classes/536/S/polrexample.html에 예제가 있습니다. Kenneth Train은 "Discrete Choice Methods with Simulation" – Andrie
@Andrie에서 자신의 저서를 잘 설명합니다. 아마도 모닝 커피가 필요 하겠지만, polr 예제와 여기에서해야 할 일 사이에 점을 연결하는 데 어려움을 겪고 있습니다. 'polr()'을 사용하면 비례 배제 비율을 예측하는 것이 목표가 아닌가? 나는 케인 트레인 (Ken Train)의 책을 내 책꽂이 (먼지를 모으는 것)에 앉아서 소용돌이 치게 할 것이다. 고맙습니다. – Chase
@Andrie +1 기차입니다. 온라인에서도 PDF 형식으로 사용할 수 있습니다. –