我想用一個連續因變量(y)和三個分類自變量(x1,x2,x3)估計數據集上的迴歸模型。例如,設想y是您爲智能手機支付的價格,x是三個功能(例如顏色,尺寸和存儲空間)。乘法迴歸
我的假設是每個特徵都代表相對於(未知)基準價格的倍增因子。因此,如果手機的基準價格爲100,則紅色會使此增加25%,而較大的尺寸則會減少50%,而高存儲空間會增加75%。這意味着手機的最終價格將爲100 x(1 + 0.25)x(1-0.50)x(1 + 0.75)= 109.375。
問題是我只知道最終價格(而不是基準價格)和個人功能。我如何估計與這些特徵一起的乘法因子?我在下面的R中寫了一個簡短的模擬來說明這個問題。
感謝本您的幫助,
邁克爾
x_fun <- function() {
tmp1 <- runif(N)
tmp2 <- cut(tmp1, quantile(tmp1, probs=c(0, 1/3, 2/3, 3/3)))
levels(tmp2) <- seq(1:length(levels(tmp2)))
tmp2[is.na(tmp2)] <- 1
as.factor(tmp2)}
N <- 1000
x1 <- x_fun()
x2 <- x_fun()
x3 <- x_fun()
f1 <- 1+0.25*(as.numeric(x1)-2)
f2 <- 1+0.50*(as.numeric(x2)-2)
f3 <- 1+0.75*(as.numeric(x3)-2)
y_Base <- runif(min=0, max=1000, N)
y <- y_Base*f1*f2*f3
output <- data.frame(y, x1, x2, x3)
rm(y_Base, f1, f2, f3, N, y, x_fun, x1, x2, x3)
基準價wou ld是特徵1,1,1的價格。即每個變量的最低因子值。如果你使用'glm'模型,這就是R作爲基線的原因。請參考您的示例:您將如何爲沒有尺寸和沒有屏幕的手機定義價格?人們通常會以最低規格的電話作爲基準。 – niczky12
@ niczky12可能並不那麼簡單。我相信通過這個邏輯,基準價格是-278.7348,而不是499. –
需要說明的是,在你的模型中,所有N個觀測值只有一個基準價格? –