2017-03-26 7 views
0

여기에 내 코드분위수 등록 코드는

n=10000; 
k=2; 
v=(n-k); 
Y=trnd(v); 
x1=ones(n,1); 
x2=randn(n,1); 
X=[x1 x2]; 
u=randn(n,1); 
Ols.Betahat=(X'*X)^(-1)X'*Y 

하지만 난이 오류가있어 : 당신은 Xn 데이터 포인트를 가지고 있지만, 당신의 Y 단지입니다

The size of the matrix is not consistent. I attached an image of the statement

enter image description here

답변

0

을 숫자. Y은 길이가 n 인 벡터 (즉, n 행 및 1 열) 여야합니다. 따라서 모든 데이터 포인트에 대해 적절한 목표를 설정해야합니다.

인쇄 화면에서 u_i의 역할이 완전히 명확하지 않습니다. u_i이 주어지면 (즉, 값이 알려진 경우) 다른 쪽으로 이동하고 YY-u으로 정의해야합니다.

반면에 u_i은 알 수없는 오류를 나타냅니다 (정보가 제공되지 않은 것 같습니다). 그러면 OLS 코드에 참여하지 않습니다. u_i를 알 수없는

n=1000; 
k=2; 
v=(n-k); 
u=randn(n,1); 
Y=trnd(v,n,1) 
Y=Y-u; 
x1=ones(n,1); 
x2=randn(n,1); 
X=[x1 x2]; 
Ols.Betahat=(X'*X)^(-1)*X'*Y 

, 그냥 제거 :

그래서이 일을 할 것입니다 (u_i 알려진) 첫 번째 시나리오 (후자가 인쇄 화면에 기록되어 있기 때문에 나는 n=1000n=10000 대체) 코드에서 다음을 수행하십시오.

n=1000; 
k=2; 
v=(n-k); 
Y=trnd(v,n,1) 
x1=ones(n,1); 
x2=randn(n,1); 
X=[x1 x2]; 
Ols.Betahat=(X'*X)^(-1)*X'*Y