tasarım matrisi açısından mükemmel bir eşbiçimlilik örneği nedir ?
tahmin edilemeyeceği bir örnek istiyorum ters çevrilemez.
tasarım matrisi açısından mükemmel bir eşbiçimlilik örneği nedir ?
tahmin edilemeyeceği bir örnek istiyorum ters çevrilemez.
Yanıtlar:
Denklemle ilişkili , ve üzere 3 değişkenli bir örnek
burada
Belirli veriler
y x1 x2
1 4.520866 1 2
2 6.849811 2 4
3 6.539804 3 6
O açıktır Yani katı olacak , dolayısıyla biz harika doğrudaşlığa var.
Modeli şöyle yazabiliriz:
nerede:
Böylece sahibiz
Şimdi determinantı hesaplamak :
R'de bunu şu şekilde gösterebiliriz:
> x1 <- c(1,2,3)
oluşturmak x2
, katlarınıx1
> x2 <- x1*2
y, bir doğrusal kombinasyon yaratmak x1
, x2
ve bazı Rasgelelik
> y <- x1 + x2 + rnorm(3,0,1)
gözlemle
> summary(m0 <- lm(y~x1+x2))
x2
katsayı için bir değer tahmin edemez:
Coefficients: (1 not defined because of singularities)
Estimate Std. Error t value Pr(>|t|)
(Intercept) 3.9512 1.6457 2.401 0.251
x1 1.0095 0.7618 1.325 0.412
x2 NA NA NA NA
Residual standard error: 0.02583 on 1 degrees of freedom
Multiple R-squared: 1, Adjusted R-squared: 0.9999
F-statistic: 2.981e+04 on 1 and 1 DF, p-value: 0.003687
model matrisi :
> (X <- model.matrix(m0))
(Intercept) x1 x2
1 1 1 2
2 1 2 4
3 1 3 6
Yani isimli
> (XXdash <- X %*% t(X))
1 2 3
1 6 11 16
2 11 21 31
3 16 31 46
gösterildiği gibi ters çevrilemez
> solve(XXdash)
Error in solve.default(XXdash) :
Lapack routine dgesv: system is exactly singular: U[3,3] = 0
Veya:
det (XXdash) [1] 0
İşte mükemmel çoklu bağlantı doğrusallığı üreten oldukça yaygın birkaç senaryo, yani tasarım matrisinin sütunlarının doğrusal olarak bağımlı olduğu durumlar. Doğrusal cebirden bunun, tasarım matrisinin (katsayıları sıfırdan farklı) sütunların sıfıra eşit doğrusal bir kombinasyonu olduğu anlamına geldiğini hatırlayın. Bu tuzağın neden bu kadar sık vurduğunu açıklamaya yardımcı olacak bazı pratik örnekler ekledim - neredeyse hepsiyle karşılaştım!
Bir değişken, bir kesme terimi olup olmadığına bakılmaksızın diğerinin katlarıdır : belki de aynı değişkeni farklı birimler kullanarak iki kez kaydettiğiniz için (örneğin "santimetre cinsinden uzunluk", "metre cinsinden uzunluk" dan tam olarak 100 kat daha büyüktür) veya bir değişkeni bir kez ham sayı olarak ve bir kez oran veya yüzde olarak kaydettiniz, payda sabitlendiğinde (örn. "petri kabı kolonize alanı" ve "petri kabı kolonize yüzdesi", alanın birbirinin tam katları olacaktır her petri kabı aynıdır). Biz doğrudaşlığa sahip olduğundan, eğer burada w ve x değişkenleri (tasarım matrisinin sütunlar) ve askaler bir sabittir, o zaman sıfıra eşit olan değişkenlerin doğrusal bir kombinasyonudur.
Bir kesişme terim ve sabiti tarafından diğerinden bir değişken farklıdır vardır : Eğer (bir değişkeni ortalamak durumunda gerçekleştirilecektir ) ve şunları hem ham x ve ortalanmış w sizin Regresyondaki. Değişkenleriniz bir sabit ile farklılık gösteren farklı birim sistemlerinde de ölçülürse, örneğin w "kelvin cinsinden sıcaklık" ve x "° C cinsinden sıcaklık " ise w i = x i + 273.15 olur . Kesişim terimini her zaman 1 ( değişkenlerin sütunu olarak gösterilen) bir değişken olarak görürsek ,, tasarım matris içinde), daha sonra olanağırlıki=xi+Kbir sabit içinkbu aygıtın1( → w )-1( → x )-k( → 1 N)arasında doğrusal bir kombinasyonudurw,Tasarım matrisinin sıfıra eşitxve1sütunları.
Orada bir kesişme terimdir ve bir değişken başka bir benzeşik transformasyon ile verilir : yani değişkenleri ve x ile ilgili, W i = bir x i + b burada bir ve B sabittir. Örneğin, bir değişkeni z i = x i - ˉ x olarak standartlaştırırsanız bu olur veregresyonunuzahem hamxhem destandartzdeğişkenlerini dahil edin. Kayıt durumunda da olurw"° F sıcaklık" vexbu birim sistemlerinin ortak bir sıfır paylaşmayan beri, "° C sıcaklıkta" olarak değil, ilişki şöyledirwi=1.8xi+32. Veya bir iş bağlamında,her sipariş içinsabit maliyetb(ör. Teslimatı kapsayan) vesatılan birim başına$amaliyetolduğunu varsayalım; Daha sonra ise$wıdüzenin maliyetidirivexisipariş edilen birim sayısı, . İlgilenilen doğrusal kombinasyon 1 ( → w ) - a ( → x ) - b ( → 1 n ) = → 0'dır . Eğer Not bu bir = 1 , daha sonra (3) özel bir durum olarak (2) içerir; Eğer b = 0 , daha sonra (3) özel bir durum olarak (1) içerir.
Bir kesme terimi vardır ve birkaç değişkenin toplamı sabittir (örneğin, ünlü "kukla değişken tuzağında") : örneğin "memnun müşteri yüzdesi", "memnun müşteri yüzdesi" ve "memnun olmayan müşteri yüzdesi" ne de memnun kalmazsa "bu üç değişken her zaman (yuvarlama hatasını engeller) toplamı 100 olur. Bu değişkenlerden birinin - ya da alternatif olarak, kesişme teriminin - eşbiçimliğin önlenmesi için regresyondan çıkarılması gerekir. "Kukla değişken tuzağı", kategorik bir değişkenin olası her seviyesi için gösterge değişkenleri (daha yaygın ancak daha az kullanışlı olarak "aptallar" olarak adlandırılır) kullandığınızda oluşur. Örneğin, vazoların kırmızı, yeşil veya mavi renk şemalarında üretildiğini varsayalım. Kategorik değişkeni kaydettiyseniz "red
green
ve "evet" ve "hayır" için blue
saklanan ikili değişkenler olacaktır ) o zaman her vazo için değişkenlerden sadece biri bir olur ve dolayısıyla . Kesişim terimi için olanların bir vektörü olduğu için doğrusal kombinasyon . Buradaki genel çözüm, kesmeyi düşürmek veya temel veya referans seviyesi haline gelen göstergelerden birini (örneğin, dışarıda bırakmak ) düşürmektir . Bu durumda, regresyon katsayısı , diğer açıklayıcı değişkenleri sabit tutarak, kırmızı bir vazodan yeşil bir vazoya geçişle ilişkili ortalama yanıttaki değişikliği gösterecektir.1
0
red + green + blue = 1
1(red) + 1(green) + 1(blue) - 1(1) = 0
red
green
Bir kesme terimi olup olmadığına bakılmaksızın , her biri sabit bir toplamı olan en az iki değişken alt kümesi vardır: (4) 'deki vazoların üç boyutta üretildiğini ve boyut için kategorik değişkenin üç ek gösterge değişkeni olarak saklandığını varsayalım . Biz olurdu large + medium + small = 1
. Daha sonra 1(large) + 1(medium) + 1(small) - 1(red) - 1(green) - 1(blue) = 0
, kesişme terimi olmasa bile doğrusal kombinasyona sahibiz . İki alt kümenin aynı toplamı paylaşması gerekmez, örn. açıklayıcı değişkenlerimiz varsa , her u i + v i = k 1 ve x i + y i = k sonra k 2 ( → u ) + k 2 ( → v ) - k 1 ( → w ) - k 1 ( → x ) = → 0 .
Bir değişken, diğer birkaç değişkenin doğrusal bir kombinasyonu olarak tanımlanır : örneğin, her bir dikdörtgenin uzunluk , genişlik w ve çevre p'yi kaydederseniz, p i = 2 l i + 2 w i böylece doğrusal kombinasyona sahibiz 1 ( → p ) - 2 ( → l ) - 2 ( → w ) = → 0. Bir kesişme terimi ile bir örnek: postayla sipariş iş iki ürün bulunmaktadır varsayalım ve biz bu emri kayıt oluşuyordu u i birim maliyetle birinci ürünün , $ a ve v ı birim maliyet de saniyenin $ b ile, sabit teslimat ücreti $ c . Sipariş maliyetini açıklayıcı değişken olarak x $ da dahil edersek , x i = a u i + b v i + c ve böylece 1 ( → x ) - . Bu, (3) 'ün açık bir genellemesidir. Aynı zamanda bize farklı bir düşünme şekli verir (4): bir kez tüm toplamı sabit olan değişkenlerin alt kümelerinden birini çubuğu öğrendikten sonra, geri kalanı tamamlayıcıdır, böylece bunların ve toplamlarının doğrusal bir kombinasyonu olarak ifade edilebilir . Müşterilerin% 50'sinin memnun olduğunu ve% 20'sinin memnun olmadığını bilersek,% 100 -% 50 -% 20 =% 30 ne memnun ne de memnun olmamalıdır; vazonun kırmızı ()olmadığınıve yeşil () olduğunu bilirsek, mavi ()olmadığını biliyoruz.red=0
green=1
blue = 1(1) - 1(red) - 1(green) = 1 - 0 - 1 = 0
Bir değişken, bir kesme terimi olup olmadığına bakılmaksızın sabit ve sıfırdır : bir gözlemsel çalışmada, örneğiniz yeterli (herhangi bir!) Varyasyon göstermiyorsa bir değişken sabit olacaktır. Örnekleminizde yakalanmayan popülasyonda bir değişiklik olabilir, örneğin çok yaygın bir modal değer varsa: belki örnek büyüklüğünüz çok küçüktür ve bu nedenle moddan farklı herhangi bir değer içermesi olası değildir veya ölçümleriniz moddaki küçük varyasyonları tespit etmek için yeterince doğru değil. Alternatif olarak, özellikle bir alt nüfus üzerinde çalışıyorsanız, varyasyon eksikliğinin teorik nedenleri olabilir. Los Angeles'ta yeni inşa edilen mülkler üzerinde yapılan bir çalışmada, her veri noktasının AgeOfProperty = 0
veState = California
! Deneysel bir çalışmada, deneysel kontrol altındaki bağımsız bir değişkeni ölçmüş olabilirsiniz. Açıklayıcı değişkenlerinizden biri hem sabit hem de sıfır olması durumunda, 1 ( → x ) doğrusal kombinasyonunun ( diğer değişkenler için sıfır katsayısı ile) hemen → 0 olması gerekir .
Bir kesme terimi vardır ve en az bir değişken sabittir : eğer sabitse, her bir x i = k ≠ 0 ise , o zaman lineer kombinasyon 1 ( → x ) - k ( → 1 n ) = → 0 olur .
En az iki değişkenlerin sabit bağımsız bir kesişme terimi olup olmadığının: her ise ve x i = k 2 ≠ 0 , daha sonra bir doğrusal kombinasyonu k 2 ( → w ) - k 1 ( → x ) = → 0 .
Tasarım matrisinin sütun sayısı, , satır sayısını aşıyor, n : değişkenleriniz arasında kavramsal bir ilişki olmasa bile, tasarım matrisinizin sütunlarının olduğunda doğrusal olarak bağımlı olması matematiksel olarak zorunludur . Sadece olması mümkün değildir k doğrusal boyutları olan bir dizi ile bir boşluk bağımsız vektörler daha düşük k bir kağıt tabakasının (bir, iki boyutlu bir düzlemde, iki bağımsız vektörler çizebilir ise, örneğin: R 2) sayfada çizilen herhangi bir vektör, aralıkları dahilinde olmalıdır ve bu nedenle bunların doğrusal bir kombinasyonu olmalıdır. Kesinti teriminin tasarım matrisine bir sütun eklediğinden, sütunlarınızdan biri olarak sayılır . (Bu senaryoya genellikle "büyük p , küçük n " sorunu denir : bu ilgili CV sorusuna da bakın .)
R kodlu veri örnekleri
Her örnek bir tasarım matrisi , X ′ X matrisi (bunun her zaman kare ve simetrik olduğunu unutmayın) ve det ( X ′ X ) 'i verir . Eğer Not X ' X, (sıfır belirleyici, dolayısıyla çevrilemeyen) tekil olduğu sonra tahmin edilemez β = ( X ' X ) - 1 x ' y . Durum bu X ' X'in şartıyla eşdeğerdir olmayan tekil olarak X sütunları lineer bağımsız olacak şekilde tam sırası vardır:bu Math SE sorusuna veya bu soruna ve bunun tersine bakın .
(1) Bir sütun diğerinin katlarıdır
# x2 = 2 * x1
# Note no intercept term (column of 1s) is needed
X <- matrix(c(2, 4, 1, 2, 3, 6, 2, 4), ncol = 2, byrow=TRUE)
X
# [,1] [,2]
#[1,] 2 4
#[2,] 1 2
#[3,] 3 6
#[4,] 2 4
t(X) %*% X
# [,1] [,2]
#[1,] 18 36
#[2,] 36 72
round(det(t(X) %*% X), digits = 9)
#0
(2) Kesişim terimi ve bir değişken diğerinden sabit olarak farklılık gösterir
# x1 represents intercept term
# x3 = x2 + 2
X <- matrix(c(1, 2, 4, 1, 1, 3, 1, 3, 5, 1, 0, 2), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 2 4
#[2,] 1 1 3
#[3,] 1 3 5
#[4,] 1 0 2
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 4 6 14
#[2,] 6 14 26
#[3,] 14 26 54
round(det(t(X) %*% X), digits = 9)
#0
# NB if we drop the intercept, cols now linearly independent
# x2 = x1 + 2 with no intercept column
X <- matrix(c(2, 4, 1, 3, 3, 5, 0, 2), ncol = 2, byrow=TRUE)
X
# [,1] [,2]
#[1,] 2 4
#[2,] 1 3
#[3,] 3 5
#[4,] 0 2
t(X) %*% X
# [,1] [,2]
#[1,] 14 26
#[2,] 26 54
# Can you see how this matrix is related to the previous one, and why?
round(det(t(X) %*% X), digits = 9)
#80
# Non-zero determinant so X'X is invertible
(3) Kesişme terimi ve bir değişken diğerinin afin transformasyonudur
# x1 represents intercept term
# x3 = 2*x2 - 3
X <- matrix(c(1, 2, 1, 1, 1, -1, 1, 3, 3, 1, 0, -3), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 2 1
#[2,] 1 1 -1
#[3,] 1 3 3
#[4,] 1 0 -3
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 4 6 0
#[2,] 6 14 10
#[3,] 0 10 20
round(det(t(X) %*% X), digits = 9)
#0
# NB if we drop the intercept, cols now linearly independent
# x2 = 2*x1 - 3 with no intercept column
X <- matrix(c(2, 1, 1, -1, 3, 3, 0, -3), ncol = 2, byrow=TRUE)
X
# [,1] [,2]
#[1,] 2 1
#[2,] 1 -1
#[3,] 3 3
#[4,] 0 -3
t(X) %*% X
# [,1] [,2]
#[1,] 14 10
#[2,] 10 20
# Can you see how this matrix is related to the previous one, and why?
round(det(t(X) %*% X), digits = 9)
#180
# Non-zero determinant so X'X is invertible
(4) Kesinti terimi ve çeşitli değişkenlerin toplamı sabittir
# x1 represents intercept term
# x2 + x3 = 10
X <- matrix(c(1, 2, 8, 1, 1, 9, 1, 3, 7, 1, 0, 10), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 2 8
#[2,] 1 1 9
#[3,] 1 3 7
#[4,] 1 0 10
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 4 6 34
#[2,] 6 14 46
#[3,] 34 46 294
round(det(t(X) %*% X), digits = 9)
#0
# NB if we drop the intercept, then columns now linearly independent
# x1 + x2 = 10 with no intercept column
X <- matrix(c(2, 8, 1, 9, 3, 7, 0, 10), ncol = 2, byrow=TRUE)
X
# [,1] [,2]
#[1,] 2 8
#[2,] 1 9
#[3,] 3 7
#[4,] 0 10
t(X) %*% X
# [,1] [,2]
#[1,] 14 46
#[2,] 46 294
# Can you see how this matrix is related to the previous one, and why?
round(det(t(X) %*% X), digits = 9)
#2000
# Non-zero determinant so X'X is invertible
(4a) Sahte değişken tuzaklı kesişim terimi
# x1 represents intercept term
# x2 + x3 + x4 = 1
X <- matrix(c(1, 0, 0, 1, 1, 1, 0, 0, 1, 0, 1, 0, 1, 1, 0, 0, 1, 0, 1, 0), ncol = 4, byrow=TRUE)
X
# [,1] [,2] [,3] [,4]
#[1,] 1 0 0 1
#[2,] 1 1 0 0
#[3,] 1 0 1 0
#[4,] 1 1 0 0
#[5,] 1 0 1 0
t(X) %*% X
# [,1] [,2] [,3] [,4]
#[1,] 5 2 2 1
#[2,] 2 2 0 0
#[3,] 2 0 2 0
#[4,] 1 0 0 1
# This matrix has a very natural interpretation - can you work it out?
round(det(t(X) %*% X), digits = 9)
#0
# NB if we drop the intercept, then columns now linearly independent
# x1 + x2 + x3 = 1 with no intercept column
X <- matrix(c(0, 0, 1, 1, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1, 0), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 0 0 1
#[2,] 1 0 0
#[3,] 0 1 0
#[4,] 1 0 0
#[5,] 0 1 0
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 2 0 0
#[2,] 0 2 0
#[3,] 0 0 1
# Can you see how this matrix is related to the previous one?
round(det(t(X) %*% X), digits = 9)
#4
# Non-zero determinant so X'X is invertible
(5) Sabit toplamlı iki değişken alt kümesi
# No intercept term needed
# x1 + x2 = 1
# x3 + x4 = 1
X <- matrix(c(0,1,0,1,1,0,0,1,0,1,1,0,1,0,0,1,1,0,1,0,0,1,1,0), ncol = 4, byrow=TRUE)
X
# [,1] [,2] [,3] [,4]
#[1,] 0 1 0 1
#[2,] 1 0 0 1
#[3,] 0 1 1 0
#[4,] 1 0 0 1
#[5,] 1 0 1 0
#[6,] 0 1 1 0
t(X) %*% X
# [,1] [,2] [,3] [,4]
#[1,] 3 0 1 2
#[2,] 0 3 2 1
#[3,] 1 2 3 0
#[4,] 2 1 0 3
# This matrix has a very natural interpretation - can you work it out?
round(det(t(X) %*% X), digits = 9)
#0
(6) Bir değişken, diğerlerinin doğrusal kombinasyonudur
# No intercept term
# x3 = x1 + 2*x2
X <- matrix(c(1,1,3,0,2,4,2,1,4,3,1,5,1,2,5), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 1 3
#[2,] 0 2 4
#[3,] 2 1 4
#[4,] 3 1 5
#[5,] 1 2 5
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 15 8 31
#[2,] 8 11 30
#[3,] 31 30 91
round(det(t(X) %*% X), digits = 9)
#0
(7) Bir değişken sabit ve sıfırdır
# No intercept term
# x3 = 0
X <- matrix(c(1,1,0,0,2,0,2,1,0,3,1,0,1,2,0), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 1 0
#[2,] 0 2 0
#[3,] 2 1 0
#[4,] 3 1 0
#[5,] 1 2 0
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 15 8 0
#[2,] 8 11 0
#[3,] 0 0 0
round(det(t(X) %*% X), digits = 9)
#0
(8) Kesişim terimi ve bir sabit değişken
# x1 is intercept term, x3 = 5
X <- matrix(c(1,1,5,1,2,5,1,1,5,1,1,5,1,2,5), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 1 5
#[2,] 1 2 5
#[3,] 1 1 5
#[4,] 1 1 5
#[5,] 1 2 5
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 5 7 25
#[2,] 7 11 35
#[3,] 25 35 125
round(det(t(X) %*% X), digits = 9)
#0
(9) İki sabit değişken
# No intercept term, x2 = 2, x3 = 5
X <- matrix(c(1,2,5,2,2,5,1,2,5,1,2,5,2,2,5), ncol = 3, byrow=TRUE)
X
# [,1] [,2] [,3]
#[1,] 1 2 5
#[2,] 2 2 5
#[3,] 1 2 5
#[4,] 1 2 5
#[5,] 2 2 5
t(X) %*% X
# [,1] [,2] [,3]
#[1,] 11 14 35
#[2,] 14 20 50
#[3,] 35 50 125
round(det(t(X) %*% X), digits = 9)
#0
(10)
# Design matrix has 4 columns but only 3 rows
X <- matrix(c(1,1,1,1,1,2,4,8,1,3,9,27), ncol = 4, byrow=TRUE)
X
# [,1] [,2] [,3] [,4]
#[1,] 1 1 1 1
#[2,] 1 2 4 8
#[3,] 1 3 9 27
t(X) %*% X
# [,1] [,2] [,3] [,4]
#[1,] 3 6 14 36
#[2,] 6 14 36 98
#[3,] 14 36 98 276
#[4,] 36 98 276 794
round(det(t(X) %*% X), digits = 9)
#0
Bir veri sütununun diğer verilerinizin doğrusal bir işlevi olacağı şekilde çok sayıda yol vardır. Bazıları açıktır (örn. Metre ve santimetre), diğerleri daha incelikli olabilir (örn. Küçük çocuklar için yaş ve eğitim yılı).