Bir değişken diğerlerinin lineer bir kombinasyonu olmasına rağmen, bu regresyon neden mükemmel çoklu doğrusallık nedeniyle başarısız DEĞİLDİR?


15

Bugün, küçük bir veri kümesiyle oynuyordum ve mükemmel çoklu bağlantı nedeniyle başarısız olmasını beklediğim basit bir OLS regresyonu yaptım . Ancak, olmadı. Bu, çoklu bağlantı konusundaki anlayışımın yanlış olduğunu ima ediyor.

Sorum şu: Nerede yanılıyorum?


Değişkenlerimden birinin diğerlerinin doğrusal bir kombinasyonu olduğunu gösterebileceğimi düşünüyorum. Bu, tam sıralaması olmayan bir regresör matrisine yol açmalı ve bu nedenle katsayılar tanımlanmamalıdır.

Küçük bir tekrarlanabilir veri kümesi oluşturdum (aşağıdaki kod) :

   exporter importer      flow     dist intraUS
1    Canada   Canada  996.8677 6.367287       0
2   Florida   Canada  995.8219 9.190562       0
3     Texas   Canada 1001.6475 4.359063       0
4    Mexico   Canada 1002.4371 7.476649       0
5    Canada  Florida 1002.8789 5.389223       0
6   Florida  Florida 1007.5589 6.779686       1
7     Texas  Florida  996.8938 1.570600       1
8    Mexico  Florida 1005.6247 5.910133       0
9    Canada    Texas  999.9190 7.887672       0
10  Florida    Texas 1004.1061 7.187803       1
11    Texas    Texas 1004.5949 7.564273       1
12   Mexico    Texas 1000.3728 2.021297       0
13   Canada   Mexico 1003.0991 5.887743       0
14  Florida   Mexico  999.2210 3.058495       0
15    Texas   Mexico  997.6092 6.835883       0
16   Mexico   Mexico 1006.7934 5.794425       0

Her zaman ihracatçı ve ithalatçı ABD eyaletleri olan, kukla intraUSolduğunu1 .

Şimdi (ticaret) bir gerileme gerçekleştirmek flowkapalıymış exporterve importermankenleri, distance ve intraUSkukla. R'yi aşağıdaki formülle beslemek lm(flow ~ dist + exporter + importer + intraUS, data = dat), tüm katsayılar için tahminler verir, eksik değerler veya tekillik hakkında uyarılar vermez:

(Intercept)            dist exporterFlorida   exporterTexas  exporterMexico importerFlorida   importerTexas  importerMexico        intraUS1 
995.1033157       0.5744661      -1.2340338      -1.8792073       3.7375783       3.0361727       1.3256032       3.3225512       4.2429599

Bu bulmaca beni, regresör matris açıkça gösterir çünkü intraUSdoğrusal kombinasyonudur exporterFlorida, importerFlorida, exporterTexasve importerTexas:

> mmat <- data.frame(model.matrix(lm(flow ~ dist + exporter + importer + intraUS, data = dat)))

   X.Intercept.     dist exporterFlorida exporterTexas exporterMexico importerFlorida importerTexas importerMexico intraUS1
1             1 6.367287               0             0              0               0             0              0        0
2             1 9.190562               1             0              0               0             0              0        0
3             1 4.359063               0             1              0               0             0              0        0
4             1 7.476649               0             0              1               0             0              0        0
5             1 5.389223               0             0              0               1             0              0        0
6             1 6.779686               1             0              0               1             0              0        1
7             1 1.570600               0             1              0               1             0              0        1
8             1 5.910133               0             0              1               1             0              0        0
9             1 7.887672               0             0              0               0             1              0        0
10            1 7.187803               1             0              0               0             1              0        1
11            1 7.564273               0             1              0               0             1              0        1
12            1 2.021297               0             0              1               0             1              0        0
13            1 5.887743               0             0              0               0             0              1        0
14            1 3.058495               1             0              0               0             0              1        0
15            1 6.835883               0             1              0               0             0              1        0
16            1 5.794425               0             0              1               0             0              1        0

Hesaplama exporterFlorida * importerFlorida + exporterFlorida * importerTexas + exporterTexas * importerFlorida + exporterTexas * importerTexas- şaşırtıcı değil - tam olarak değerleri verir intraUS1.

Benim sorum yine : Bu regresyon neden olmasın Bir değişkenin diğerlerinin doğrusal bir kombinasyonu olması nedeniyle başarısız ?


Tam kodun altında, tahmini yeniden oluşturun:

## Generate data ####

set.seed(1)
states <- c("Canada", "Florida", "Texas", "Mexico")
dat <- expand.grid(states, states)
colnames(dat) <- c("exporter", "importer")

dat[, "flow"] <- NA
dat[, "dist"] <- NA
dat[, "intraUS"] <- 0

for (i in 1:nrow(dat)) {
  dat[i, c("flow", "dist")] <- c(rnorm(1, mean = 1000, sd = 5), rnorm(1, mean = 6, sd = 2))
  if (dat[i, "exporter"] %in% states[2:3] && dat[i, "importer"] %in% states[2:3]) {
    dat[i, "intraUS"] <- 1
  }
}
dat$intraUS <- factor(dat$intraUS)

## Run regression - works! ####

summary(lm(flow ~ dist + exporter + importer + intraUS, data = dat))

## Show that "intraUS1" is a linear combination of the dummies. ####

mmat <- data.frame(model.matrix(lm(flow ~ dist + exporter + importer + intraUS, data = dat)))

cbind(mmat, test = with(mmat,
                        exporterFlorida * importerFlorida + exporterFlorida * importerTexas +
                        exporterTexas * importerFlorida + exporterTexas * importerTexas
                        ))[, c("intraUS1", "test")]

9
Downvoters, neyi yanlış yaptığımı açıklar mısın? Crossvalidated'a pek aşina değilim ve bu soruda neyin yanlış olduğunu bilmek istiyorum, böylece bir dahaki sefere daha iyisini yapabilirim.
CL.

Yanıtlar:


30

exporterFlorida * importerFlorida + exporterFlorida * importerTexas + exporterTexas * importerFlorida + exporterTexas * importerTexas

Bu değil doğrusal bir kombinasyonu exporterFlorida, importerFlorida, importerTexasve exporterTexas. Doğrusal bir kombinasyonda, vektörlerin katsayıları sabit olmalıdır . Yani böyle bir şey

2*importerFlorida + 3*importerTexas - exporterFlorida - 2*exporterTexas

olan doğrusal bir kombinasyon.

Sahip olduğunuz şey muhtemelen ikinci dereceden bir kombinasyon olarak adlandırılabilir, ancak bu terminolojiyi "bir şeyler hazırlıyorum" alanına sürükler.


2
Kahretsin… bu bir matematik dersine hiç katılmamış olmanın, bunun yerine istatistiklerle başlamanın cezası. Teşekkür ederim!
CL.

4
Telaşa gerek yok. Biz bunun için buradayız!
Matthew Drury
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.