Алгоритм Семипарамети c Регрессия - PullRequest
0 голосов
/ 27 января 2020

В настоящее время я работаю над полупараметрическими c регрессионными моделями, решая непараметрическую часть c, используя "Ядра". Я знаю, в R пакет KSPM доступен для этого, но я хочу понять процедуру. Для этого я попробовал следующий код, но ответы (вручную + через пакет) не совпадают. Вручную я оцениваю бета по LRM и умножаю оценочную бета на ее регрессию и добавляю их в соответствующие значения NPR.

n<-10

y<-rnorm(n,0,1)
x1<-runif(n, -1,1)
x2<-runif(n, 0,1)

require(KernSmooth)
PI <- abs(dpik(x2) )


LRM<-lm(y~x1)
LRM
be<-LRM[1]$coefficients[2]
est<-be%*%x1

require(np)
nw<- npreg(y~x2,bws=PI)
y21<-fitted(nw)
yhat1<-est+y21
MSE1<-mean((y-yhat1)^2)
MSE1

require(KSPM)
nw1 <- kspm(y, linear = ~ x1, kernel = ~ Kernel(~ x2,kernel.function = "gaussian",  rho = PI))
nw1$linear.coefficients
D1=(residuals(nw1))^2
MSE.NW1=sum(D1)/(n)
MSE.NW1

Теперь у меня есть 2 связанных вопроса.

Является ли это Logi c Правильно ли для полупараметрической c регрессия через ядра? Если да, то почему ответы не совпадают? Я также применяю LRM, почему даже коэффициенты не одинаковы. Направь меня, пожалуйста.

...