2017-11-11 2 views
0

OLS 회귀 분석의 회귀 상수를 저장하는 데 문제가 있습니다. 필자는 패널 데이터 세트의 각 회사에 대해 일일 회귀를 계산하려고합니다. obs_id은 회사와 날짜를 나타냅니다.저장 패널 회귀 변수의 상수 및 잔량

다음 루프를 만들려고했습니다. 어떻게 든 저장된 계수는 전체 샘플에 대해 동일합니다.

foreach x in obs_id { 
    newey retRF MktRF SMB HML if obs_id == `x', lag(0) 
    mat A = e(b) 
    quietly replace constant = A[1, 4] if obs_id == `x' 
    matrix A = . 
} 

내 코드에 대한 의견이나 아이디어를 보내 주시면 감사하겠습니다. statsby도 시도했지만 샘플이 너무 커서 해당 명령을 사용할 수 없습니다.

+0

https://www.statalist.org/forums/forum/general-stata-discussion/general/1417810-loop-error-when-saving-regression-coefficients에서 유사한 질문의 교차 게시 교차 분석에 대해 사람들에게 알리기. 게시는 정중하고 그렇게 널리 사용되지 않습니다. –

+0

규칙에 적용되지 않아 사과 드리며 다시는 발생하지 않을 것이라고 확신합니다. –

+0

의견을 보내 주셔서 감사합니다. 그러나 이것들은 규칙이 아니며 우수 사례에 관한 제안입니다. –

답변

0

루프는 단일 항목을 통해 루프 및

newey retRF MktRF SMB HML if obs_id == obs_id, lag(0) 
mat A = e(b) 
quietly replace constant = A[1, 4] if obs_id == obs_id 
matrix A = . 

처음으로 다시 작성할 수 있습니다 다음

newey retRF MktRF SMB HML, lag(0) 
mat A = e(b) 
quietly replace constant = A[1, 4] 
matrix A = . 

당신이 추측하거나 바라고 무엇 방식 foreach 작품은 아니다. 고유 한 값을 루프하도록 명명 된 변수의 "안쪽"을 보지 않습니다. help foreach을 참조하십시오.

statsby으로 시도한 것을 보거나 SSC의 runby을 시도해보십시오. 데이터 세트 나 비슷한 크기와 모양이 없으면 여기에보고 된대로 문제를 테스트 할 수 없습니다.