Sorry, I did not mean that
The quantity generated should be a scalar, however.
Good evening fellow Gretlians,
I am trying to run this command sheet but it doesn't work.
function LEVERAGE(matrix X, matrix y, matrix *u, matrix *h)
matrix beta = inv(X'X)*X'*y # calculates coeffs through OLS
matrix u = y - X*beta # residuals
matrix Px = X'(inv(X'X))*X # orthogonal projector Px
matrix h = diag(Px) # extract the elements fromt Px's diagonal
matrix dif={}
loop i=1..rows(X) --progressive # loop to work on each observation
matrix xi = X[i,] #exctracting rows from X
scalar u_i = u[i,]
scalar h_i = h[i,]
matrix dif[i,] = (-u_i/(1-h_i))*(inv(X'X)* xi) #calculate the difference between beta(t) and beta. <--- THESE - I SUPPOSE - ARE THE POINTS WHEN IT DOESN'T WORK.
end loop
return matrix dif
end function
open ESERCIZIO4.gdt
include LEVERAGE
matrix X={const, inv_gdp}
matrix y={gdp_pw_g}
matrix u
matrix h
dif = LEVERAGE ( X, y, &u, &h) <--- THESE - I SUPPOSE - ARE THE POINTS WHEN IT DOESN'T WORK.
The idea is evaluating the leverage of observations, using the command editor. However, when trying to create the dif matrix, using the leverage function on an assigned dataset (included) it tells me them are not conformable.
The quantity generated should be a scalar, however. When using this commandmatrix dif[i,] = (-u_i/(1-h_i))*(inv(X'X)* xi),am i not telling Gretl to multiply a scalar (blue) by a matricial form (green)?
Hope the explanation is clear, and that you will be able to help me with this matter.
--
Cordiali saluti/Salutations/Best Regards
Sebastiano Putoto