Модель, про яку йдеться, може бути записана
у= p ( x ) + ( x - x1) ⋯ ( x - xг) ( β0+ β1x + ⋯ + βpхp) +ε
де - поліном ступеня проходить через задані точки і є випадковим. (Використовуйте інтерполяційний поліном Лагранжа .) Написання дозволяє нам переписати цю модель як d - 1 ( x 1 , y 1 ) , … , ( x d , y d ) ε ( x - x 1 ) ⋯ ( x - x d ) = r ( x )р ( хi) = уiг- 1( х1, у1) , … , ( Хг, уг)ε( х - х1) ⋯ ( x - xг) = r ( x )
у- p ( x ) = β0r ( x ) + β1r ( x ) x + β2r ( x ) x2+ ⋯ + βpr ( x ) xp+ ε ,
яка є стандартною множинної регресії МНК проблема з тією ж структурою, що і помилки оригіналу , де незалежні змінні є величини . Просто обчисліть ці змінні та запустіть знайоме регресійне програмне забезпечення , переконайтеся, що він не включає постійний термін Звичайні застереження про регресії без постійного терміну; зокрема, може бути штучно високим; звичайні тлумачення не застосовуються.r ( x ) x i , i = 0 , 1 , … , p R 2р + 1r ( x ) xi, i = 0 , 1 , … , сторR2
(Насправді, регресія через початок є особливим випадком цієї конструкції, де , і , так що модель є )( x 1 , y 1 ) = ( 0 , 0 ) p ( x ) = 0г= 1( х1, у1) = ( 0 , 0 )p ( x ) = 0у= β0x + ⋯ + βpхр + 1+ ε .
Ось відпрацьований приклад (в R
)
# Generate some data that *do* pass through three points (up to random error).
x <- 1:24
f <- function(x) ( (x-2)*(x-12) + (x-2)*(x-23) + (x-12)*(x-23) ) / 100
y0 <-(x-2) * (x-12) * (x-23) * (1 + x - (x/24)^2) / 10^4 + f(x)
set.seed(17)
eps <- rnorm(length(y0), mean=0, 1/2)
y <- y0 + eps
data <- data.frame(x,y)
# Plot the data and the three special points.
plot(data)
points(cbind(c(2,12,23), f(c(2,12,23))), pch=19, col="Red", cex=1.5)
# For comparison, conduct unconstrained polynomial regression
data$x2 <- x^2
data$x3 <- x^3
data$x4 <- x^4
fit0 <- lm(y ~ x + x2 + x3 + x4, data=data)
lines(predict(fit0), lty=2, lwd=2)
# Conduct the constrained regressions
data$y1 <- y - f(x)
data$r <- (x-2)*(x-12)*(x-23)
data$z0 <- data$r
data$z1 <- data$r * x
data$z2 <- data$r * x^2
fit <- lm(y1 ~ z0 + z1 + z2 - 1, data=data)
lines(predict(fit) + f(x), col="Red", lwd=2)
Три фіксовані точки зображені суцільним червоним кольором - вони не є частиною даних. Не обмежене поліноміальне найменше квадрати четвертого порядку показано чорною пунктирною лінією (має п'ять параметрів); обмежене прилягання (порядку п’ять, але лише з трьома вільними параметрами) показано червоною лінією.
Перевірка ( summary(fit0)
та summary(fit)
) найменших квадратів може бути повчальною - я залишаю це зацікавленому читачеві.