mws.gms : Horowitz의 출장 모드 선택 모델 추정값 계산

설명

1960년대 후반 워싱턴 DC에서 842명의 표본을 대상으로 Horowitz
'출근 모드 선택' 결정(자동차 또는 기타)을 모델로 삼았습니다.
집에서 직장까지 매일의 여행.

우리는 MIP 공식을 사용하여 최대(가중) 점수 추정치를 계산합니다.
플로리오스와 스코라스.

대형 모델 유형 :MIP


카테고리 : 무료 슬롯 사이트 모델 라이브러리


메인 파일 : mws.gms   포함: worktrip.inc

$title Horowitz의 출장 모드 선택 모델 추정값 계산 (MWS,SEQ=331)

$onText
1960년대 후반 워싱턴 DC의 842명 표본을 대상으로 Horowitz
'출근 모드 선택' 결정(자동차 또는 기타)을 모델로 삼았습니다.
집에서 직장까지 매일의 여행.

우리는 MIP 공식을 사용하여 최대(가중) 점수 추정치를 계산합니다.
플로리오스와 스코라스.

Florios, K 및 Skouras, S, 최대 가중 점수의 정확한 계산에 대한 참고 사항
혼합 정수 계획법에 의한 추정기. 기술. 대표, 내셔널 테크니컬
아테네 대학교 및 아테네 경제 경영 대학교, 2007

Horowitz, J L, 출장 모드 선택 모델의 반모수적 추정.
계량경제학회지 58(1-2), 49-70, 1993

키워드: 혼합 정수 선형 계획법, 계량경제학, 추정량 계산,
          출장 모드 선택, 최대 점수
$offText

세트
   p '설명 변수'
     / DCOST "교통비 - 자동차 여행비"
       CARS "여행자 가구 소유의 자동차"
       DOVTT "차량 외부 환승 - 자동차 외부 시간"
       DIVTT "교통 차내 - 자동차 차내 시간"
       INTCPT "가로채기" /
   T '표본 크기(가구)' / 1*842 /;

매개변수 y(T) '이진 종속변수 값';

표 X(T,*) '설명변수 및 종속변수'
$off목록
$include worktrip.inc
$onListing
;

y(T) = X(T,'의존');

$normalize_X를 설정하지 않은 경우 $set Normalize_X 1
매개변수
   delta '추정할 모든 매개변수에 대한 도메인' / 10 /
   Xnms(T,p) '행렬 X, %normalizeX%==1인 경우 모든 분산을 1과 동일하게 정규화'
   평균(p) '뮤시그마 정규화에 대한 T에 대한 X(T.p)의 평균'
   stdev(p) 'T에 대한 X(T.p)의 표준편차 등'
   omega(T) '접합적 제약 조건에 대한 유효한 빅 M 계수';

평균(p) = 합계(T, X(T,p))/카드(T);
stdev(p) = sqrt(sum(T, sqr(X(T,p) - 평균(p)))/(카드(T) - 1));

Xnms(T,p) = X(T,p);
$if %normalize_X% == 1 Xnms(T,p) = 1; Xnms(T,p)$stdev(p) = (X(T,p) - 평균(p))/stdev(p);

omega(T) = sum(p$(ord(p) = 1), abs(Xnms(T,p))) + delta*sum(p$(ord(p) > 1), abs(Xnms(T,p)));

변수
   z(T) '는 y와 선형 빗의 부호 일치 여부를 나타냅니다. X'의
   beta(p) '최대 가중치 점수로 추정할 벡터 구성요소'
   mws '객관변수';

이진변수 z;

방정식
   objfun '목적 함수는 (가중된) 부호 일치 횟수'입니다.
   cosg(T) 'y와 X*b 사이의 부호 일치 제약 조건';

objfun..mws =e= sum(T, z(T));

cosg(T).. (1 - 2*y(T))*sum(p, beta(p)*Xnms(T,p)) =l= 오메가(T)*(1 - z(T));

모델 MaxWeightedScore / 모든 /;

beta.lo(p) = -델타;
beta.up(p) = 델타;
beta.fx(p)$(ord(p) = 1) = 1;

옵션 optCr = 0;

mip max mws를 사용하여 MaxWeightedScore를 해결합니다.

매개변수 ffbeta(p) '매개변수 벡터 구성요소';

ffbeta(p) = 베타.l(p);
$%normalize_X%가 아닌 경우 == 1 $goTo 표시

매개변수 fbeta(p) '중간 벡터';

별칭(p,pp);

fbeta(p) = -sum(pp$stdev(pp), beta.l(pp)*mean(pp)/stdev(pp)) + beta.l(p);
fbeta(p)$stdev(p) = beta.l(p)/stdev(p);
ffbeta(p) = fbeta(p)/sum(pp$(ord(pp) = 1), fbeta(pp));

$라벨 표시
beta.l, ffbeta 표시;