R Adım Adım ve Çoklu Doğrusal Regresyon [Adım Adım Örnek]

R'de Basit Doğrusal Regresyon

Doğrusal regresyon basit bir soruyu yanıtlar: Bir hedef değişken ile bir dizi yordayıcı arasındaki kesin ilişkiyi ölçebilir misiniz?

Olasılıksal modelin en basiti düz çizgi modelidir:

R'de Basit Doğrusal Regresyon

nerede

  • y = Bağımlı değişken
  • x = Bağımsız değişken
  • R'de Basit Doğrusal Regresyon = rastgele hata bileşeni
  • R'de Basit Doğrusal Regresyon = kesişme
  • R'de Basit Doğrusal Regresyon = x katsayısı

Aşağıdaki olay örgüsünü düşünün:

R'de Basit Doğrusal Regresyon

denklem R'de Basit Doğrusal Regresyon kesişme noktasıdır. Eğer x 0'a eşitse, y kesme noktasına, yani 4.77'ye eşit olacaktır. doğrunun eğimidir. X değiştiğinde y'nin hangi oranda değiştiğini söyler.

Optimum değerleri tahmin etmek için R'de Basit Doğrusal Regresyon ve R'de Basit Doğrusal Regresyonadlı bir yöntemi kullanırsınız Adi En Küçük Kareler (OLS). Bu yöntem, karesel hataların toplamını, yani tahmin edilen y değerleri ile gerçek y değerleri arasındaki dikey mesafeyi en aza indiren parametreleri bulmaya çalışır. Fark şu şekilde bilinir: hata terimi.

Modeli tahmin etmeden önce, bir dağılım grafiği çizerek y ve x arasındaki doğrusal ilişkinin makul olup olmadığını belirleyebilirsiniz.

Dağılım grafiği

Basit doğrusal regresyon kavramını açıklamak için çok basit bir veri seti kullanacağız. Amerikalı Kadınlar için Ortalama Boy ve Ağırlıkları içe aktaracağız. Veri seti 15 gözlem içermektedir. Boyların ağırlıklarla pozitif yönde ilişkili olup olmadığını ölçmek istiyorsunuz.

library(ggplot2)
path <- 'https://raw.githubusercontent.com/guru99-edu/R-Programming/master/women.csv'
df <-read.csv(path)
ggplot(df,aes(x=height, y =  weight))+
geom_point()

Çıktı:

Dağılım grafiği

Dağılım grafiği, x arttıkça y'nin de artma eğiliminde olduğunu göstermektedir. Bir sonraki adımda, her ilave için ne kadar artış olduğunu ölçeceksiniz.

En Küçük Kareler Tahminleri

Basit bir OLS regresyonunda, hesaplama En Küçük Kareler Tahminleri ve En Küçük Kareler Tahminleri basittir. Bu derste amaç türetmeyi göstermek değildir. Sadece formülü yazacaksınız.

Tahmin etmek istiyorsunuz: En Küçük Kareler Tahminleri

OLS regresyonunun amacı aşağıdaki denklemi en aza indirmektir:

En Küçük Kareler Tahminleri

nerede

En Küçük Kareler Tahminleri gerçek değerdir ve En Küçük Kareler Tahminleri tahmin edilen değerdir.

Çözüm En Küçük Kareler Tahminleri is En Küçük Kareler Tahminleri

Bunu not et En Küçük Kareler Tahminleri x'in ortalama değeri anlamına gelir

Çözüm En Küçük Kareler Tahminleri is En Küçük Kareler Tahminleri

R'de tahmin etmek için cov() ve var() işlevini kullanabilirsiniz. En Küçük Kareler Tahminleri ve tahmin etmek için ortalama () işlevini kullanabilirsiniz. En Küçük Kareler Tahminleri

beta <- cov(df$height, df$weight) / var (df$height)
beta

Çıktı:

##[1] 3.45
alpha <- mean(df$weight) - beta * mean(df$height)
alpha

Çıktı:

## [1] -87.51667

Beta katsayısı, her ilave yükseklik için ağırlığın 3.45 arttığı anlamına gelir.

Basit doğrusal denklemi manuel olarak tahmin etmek ideal değildir. R bu parametreleri tahmin etmek için uygun bir fonksiyon sağlar. Bu işlevi kısa süre içinde göreceksiniz. Bundan önce basit bir doğrusal regresyon modelinin elle nasıl hesaplanacağını tanıtacağız. Veri bilimci yolculuğunuzda basit bir doğrusal modeli neredeyse hiç tahmin etmeyeceksiniz veya tahmin etmeyeceksiniz. Çoğu durumda, regresyon görevleri birçok tahminci üzerinde gerçekleştirilir.

R'de Çoklu Doğrusal Regresyon

Regresyon analizinin daha pratik uygulamaları, basit düz çizgi modelinden daha karmaşık modeller kullanır. Birden fazla bağımsız değişkeni içeren olasılıksal modele denir çoklu regresyon modelleri. Bu modelin genel formu şöyledir:

R'de Çoklu Doğrusal Regresyon

Matris gösteriminde modeli yeniden yazabilirsiniz:

  • R'de Çoklu Doğrusal Regresyon

Bağımlı değişken y artık k bağımsız değişkenin bir fonksiyonudur. Katsayının değeri R'de Çoklu Doğrusal Regresyon bağımsız değişkenin katkısını belirler R'de Çoklu Doğrusal Regresyon ve R'de Çoklu Doğrusal Regresyon.

Rastgele hatayla ilgili yaptığımız varsayımı kısaca tanıtıyoruz R'de Çoklu Doğrusal Regresyon OLS'den:

  • Ortalama 0'a eşit
  • Varyans eşittir R'de Çoklu Doğrusal Regresyon
  • Normal dağılım
  • Rastgele hatalar bağımsızdır (olasılıksal anlamda)

için çözmeniz gerekiyor R'de Çoklu Doğrusal Regresyon, tahmin edilen ve gerçek y değerleri arasındaki karesel hataların toplamını en aza indiren regresyon katsayılarının vektörü.

Kapalı form çözümü:

R'de Çoklu Doğrusal Regresyon

ile:

  • gösterir aktarmak X matrisinin
  • R'de Çoklu Doğrusal Regresyon gösterir tersinir matris

Mtcars veri setini kullanıyoruz. Veri kümesine zaten aşinasınız. Amacımız bir dizi özellik üzerinden galon başına mili tahmin etmektir.

R'de Sürekli Değişkenler

Şimdilik sadece sürekli değişkenleri kullanacaksınız ve kategorik özellikleri bir kenara bırakacaksınız. am değişkeni, şanzıman manuel ise 1, otomatik araçlar için 0 değerini alan ikili bir değişkendir; vs de ikili bir değişkendir.

library(dplyr)
df <- mtcars % > %
select(-c(am, vs, cyl, gear, carb))
glimpse(df)

Çıktı:

## Observations: 32
## Variables: 6
## $ mpg  <dbl> 21.0, 21.0, 22.8, 21.4, 18.7, 18.1, 14.3, 24.4, 22.8, 19....
## $ disp <dbl> 160.0, 160.0, 108.0, 258.0, 360.0, 225.0, 360.0, 146.7, 1...
## $ hp   <dbl> 110, 110, 93, 110, 175, 105, 245, 62, 95, 123, 123, 180, ...
## $ drat <dbl> 3.90, 3.90, 3.85, 3.08, 3.15, 2.76, 3.21, 3.69, 3.92, 3.9...
## $ wt   <dbl> 2.620, 2.875, 2.320, 3.215, 3.440, 3.460, 3.570, 3.190, 3...
## $ qsec <dbl> 16.46, 17.02, 18.61, 19.44, 17.02, 20.22, 15.84, 20.00, 2...

Parametreleri hesaplamak için lm() fonksiyonunu kullanabilirsiniz. Bu işlevin temel sözdizimi şöyledir:

lm(formula, data, subset)
Arguments:
	-formula: The equation you want to estimate	
	-data: The dataset used
	-subset: Estimate the model on a subset of the dataset

Bir denklemin aşağıdaki formda olduğunu hatırlayın

R'de Sürekli Değişkenler

R cinsinden

  • = sembolü ~ ile değiştirilir
  • Her x, değişken adıyla değiştirilir
  • Sabiti çıkarmak istiyorsanız formülün sonuna -1 ekleyin

Örnek:

Bireylerin ağırlığını boylarına ve gelirlerine göre tahmin etmek istiyorsunuz. Denklem:

R'de Sürekli Değişkenler

R'deki denklem şu şekilde yazılır:

y ~ X1+ X2+…+Xn # Kesişmeli

Yani örneğimiz için:

  • Tartım ~ boy + gelir

Amacınız bir dizi değişkene dayanarak galon başına mili tahmin etmektir. Tahmin edilecek denklem:

R'de Sürekli Değişkenler

İlk doğrusal regresyonunuzu tahmin edecek ve sonucu uygun nesnede saklayacaksınız.

model <- mpg~.disp + hp + drat + wt
fit <- lm(model, df)
fit

Kod Açıklama

  • modeli <- mpg ~. disp + hp + drat+ wt: Tahmin edilecek modeli saklayın
  • lm(model, df): Modeli df veri çerçevesiyle tahmin edin
## 
## Call:
## lm(formula = model, data = df)
## 
## Coefficients:
## (Intercept)         disp           hp         drat           wt  
##    16.53357      0.00872     -0.02060      2.01577     -4.38546  
##        qsec  
##     0.64015	

Çıktı, uyumun kalitesi hakkında yeterli bilgi sağlamaz. Katsayıların önemi, serbestlik derecesi ve kalıntıların şekli gibi daha fazla ayrıntıya summary() fonksiyonuyla erişebilirsiniz.

summary(fit)

Çıktı:

## return the p-value and coefficient
## 
## Call:
## lm(formula = model, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5404 -1.6701 -0.4264  1.1320  5.4996 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)   
## (Intercept) 16.53357   10.96423   1.508  0.14362   
## disp         0.00872    0.01119   0.779  0.44281   
## hp          -0.02060    0.01528  -1.348  0.18936   
## drat         2.01578    1.30946   1.539  0.13579   
## wt          -4.38546    1.24343  -3.527  0.00158 **
## qsec         0.64015    0.45934   1.394  0.17523   
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.558 on 26 degrees of freedom
## Multiple R-squared:  0.8489, Adjusted R-squared:  0.8199 
## F-statistic: 29.22 on 5 and 26 DF, p-value: 6.892e-10

Yukarıdaki tablo çıktısından çıkarım

  • Yukarıdaki tablo, ağırlık ile kilometre arasında güçlü bir negatif, sürükleme ile ise pozitif bir ilişki olduğunu kanıtlamaktadır.
  • Yalnızca wt değişkeninin mpg üzerinde istatistiksel etkisi vardır. Unutmayın, istatistikte bir hipotezi test etmek için şunları kullanırız:
    • H0: İstatistiksel etki yok
    • H3: Tahmincinin y üzerinde anlamlı bir etkisi vardır.
    • P değerinin 0.05'ten küçük olması değişkenin istatistiksel olarak anlamlı olduğunu gösterir
  • Düzeltilmiş R-kare: Model tarafından açıklanan varyans. Modelinizde model, y'nin varyansının yüzde 82'sini açıkladı. R kare her zaman 0 ile 1 arasındadır. Ne kadar yüksekse o kadar iyidir

Koşabilirsiniz ANOVA anova() fonksiyonu ile her bir özelliğin varyanslar üzerindeki etkisini tahmin etmek için test yapın.

anova(fit)

Çıktı:

## Analysis of Variance Table
## 
## Response: mpg
##           Df Sum Sq Mean Sq  F value   Pr(>F)    
## disp       1 808.89  808.89 123.6185 2.23e-11 ***
## hp         1  33.67   33.67   5.1449 0.031854 *  
## drat       1  30.15   30.15   4.6073 0.041340 *  
## wt         1  70.51   70.51  10.7754 0.002933 ** 
## qsec       1  12.71   12.71   1.9422 0.175233    
## Residuals 26 170.13    6.54                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1	

Model performansını tahmin etmenin daha geleneksel bir yolu, artıkları farklı ölçümlere göre göstermektir.

Dört grafiği göstermek için arsa() işlevini kullanabilirsiniz:

– Artıklar ve Takılan değerler

– Normal QQ grafiği: Teorik Çeyrek ve Standartlaştırılmış artıklar

– Ölçek-Konum: Uygun değerler ve standartlaştırılmış artıkların karekökleri

– Artıklar ve Kaldıraç: Kaldıraç ve Standartlaştırılmış artıklar

par(mfrow=c(2,2)) kodunu grafiğin(fit) önüne eklersiniz. Bu kod satırını eklemezseniz, R bir sonraki grafiği görüntülemek için enter komutuna basmanızı ister.

par(mfrow=(2,2))

Kod Açıklama

  • (mfrow=c(2,2)): Dört grafiğin yan yana olduğu bir pencere döndürür.
  • İlk 2 satır sayısını ekler
  • İkinci 2 sütun sayısını ekler.
  • (mfrow=c(3,2)) yazarsanız 3 satır 2 sütunlu bir pencere oluşturacaksınız.
plot(fit)

Çıktı:

R'de Sürekli Değişkenler

lm() formülü birçok yararlı bilgi içeren bir liste döndürür. Bunlara oluşturduğunuz fit nesnesi, ardından $ işareti ve çıkarmak istediğiniz bilgilerle ulaşabilirsiniz.

– katsayılar: `fit$katsayıları`

– artıklar: `fit$reziduals'

– uygun değer: `fit$fitted.values`

R'de Faktörler Regresyon

Son model tahmininde mpg'yi yalnızca sürekli değişkenlere göre regresyon yaparsınız. Faktör değişkenlerini modele eklemek kolaydır. Am değişkenini modelinize eklersiniz. Değişkenin faktör düzeyinde olduğundan ve sürekli olmadığından emin olmak önemlidir.

df <- mtcars % > %
mutate(cyl = factor(cyl),
    vs = factor(vs),
    am = factor(am),
    gear = factor(gear),
    carb = factor(carb))
summary(lm(model, df))

Çıktı:

## 
## Call:
## lm(formula = model, data = df)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.5087 -1.3584 -0.0948  0.7745  4.6251 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)  
## (Intercept) 23.87913   20.06582   1.190   0.2525  
## cyl6        -2.64870    3.04089  -0.871   0.3975  
## cyl8        -0.33616    7.15954  -0.047   0.9632  
## disp         0.03555    0.03190   1.114   0.2827  
## hp          -0.07051    0.03943  -1.788   0.0939 .
## drat         1.18283    2.48348   0.476   0.6407  
## wt          -4.52978    2.53875  -1.784   0.0946 .
## qsec         0.36784    0.93540   0.393   0.6997  
## vs1          1.93085    2.87126   0.672   0.5115  
## am1          1.21212    3.21355   0.377   0.7113  
## gear4        1.11435    3.79952   0.293   0.7733  
## gear5        2.52840    3.73636   0.677   0.5089  
## carb2       -0.97935    2.31797  -0.423   0.6787  
## carb3        2.99964    4.29355   0.699   0.4955  
## carb4        1.09142    4.44962   0.245   0.8096  
## carb6        4.47757    6.38406   0.701   0.4938  
## carb8        7.25041    8.36057   0.867   0.3995  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.833 on 15 degrees of freedom
## Multiple R-squared:  0.8931, Adjusted R-squared:  0.779 
## F-statistic:  7.83 on 16 and 15 DF,  p-value: 0.000124

R, temel grup olarak birinci faktör düzeyini kullanır. Diğer grubun katsayılarını baz grupla karşılaştırmanız gerekiyor.

R'de Adımsal Doğrusal Regresyon

Bu eğitimin son kısmı şu konularla ilgilidir: kademeli regresyon algoritması. Bu algoritmanın amacı, modellerdeki potansiyel adayları eklemek ve kaldırmak ve bağımlı değişken üzerinde önemli bir etkisi olanları tutmaktır. Bu algoritma, veri kümesi büyük bir tahmin edici listesi içerdiğinde anlamlıdır. Bağımsız değişkenleri manuel olarak eklemenize ve kaldırmanıza gerek yoktur. Adım adım regresyon, modele uyacak en iyi adayları seçmek için oluşturulmuştur.

Nasıl çalıştığını uygulamalı olarak görelim. Mtcars veri kümesini sürekli değişkenlerle birlikte yalnızca pedagojik örnekleme amacıyla kullanırsınız. Analize başlamadan önce veriler arasındaki farklılıkları bir korelasyon matrisiyle belirlemek iyi bir fikirdir. GGally kütüphanesi ggplot2'nin bir uzantısıdır.

Kütüphane, bir matristeki tüm değişkenlerin korelasyonu ve dağılımı gibi özet istatistikleri göstermek için farklı işlevler içerir. Biz ggscatmat fonksiyonunu kullanacağız ancak şuraya başvurabilirsiniz: skeç GGally kütüphanesi hakkında daha fazla bilgi için.

ggscatmat()'ın temel sözdizimi şöyledir:

ggscatmat(df, columns = 1:ncol(df), corMethod = "pearson")
arguments:
-df:  A matrix of continuous variables
-columns: Pick up the columns to use in the function. By default, all columns are used
-corMethod: Define the function to compute the correlation between variable. By default, the algorithm uses the Pearson formula

Tüm değişkenleriniz için korelasyonu görüntülersiniz ve hangisinin adım adım regresyonun ilk adımı için en iyi aday olacağına karar verirsiniz. Değişkenleriniz ve bağımlı değişken mpg arasında bazı güçlü korelasyonlar vardır.

library(GGally)
df <- mtcars % > %
	select(-c(am, vs, cyl, gear, carb))
ggscatmat(df, columns = 1: ncol(df))

Çıktı:

R'de Adımsal Doğrusal Regresyon

Adım Adım Regresyon Adım Adım Örnek

Değişken seçimi bir modele uyum sağlamanın önemli bir parçasıdır. Adım adım regresyon arama sürecini otomatik olarak gerçekleştirir. Veri setinde kaç olası seçenek olduğunu tahmin etmek için şunları hesaplarsınız: Adım Adım Regresyon Adım Adım Örnek k ile tahminlerin sayısıdır. Bağımsız değişkenlerin sayısı arttıkça olasılıkların miktarı da artar. Bu yüzden otomatik aramaya ihtiyacınız var.

CRAN'dan olsrr paketini kurmanız gerekiyor. Paket henüz Anaconda'da mevcut değil. Dolayısıyla doğrudan komut satırından yüklersiniz:

install.packages("olsrr")

Uyum kriterleriyle (yani R-kare, Düzeltilmiş R-kare, Bayes kriterleri) tüm olasılık alt kümelerini çizebilirsiniz. En düşük AIC kriterlerine sahip model son model olacaktır.

library(olsrr)
model <- mpg~.
fit <- lm(model, df)
test <- ols_all_subset(fit)
plot(test)

Kod Açıklama

  • mpg ~.: Tahmin edilecek modeli oluşturun
  • lm(model, df): OLS modelini çalıştırın
  • ols_all_subset(fit): Grafikleri ilgili istatistiksel bilgilerle oluşturun
  • arsa (test): Grafikleri çizin

Çıktı:

Adım Adım Regresyon Adım Adım Örnek

Doğrusal regresyon modelleri şunları kullanır: t-testi Bağımsız bir değişkenin bağımlı değişken üzerindeki istatistiksel etkisini tahmin etmek için. Araştırmacılar maksimum eşiği %10 olarak belirlediler, daha düşük değerler daha güçlü bir istatistiksel bağlantı olduğunu gösteriyor. Aşamalı regresyonun stratejisi, potansiyel adayları eklemek ve kaldırmak için bu test etrafında oluşturulmuştur. Algoritma şu şekilde çalışır:

R'de Adımsal Doğrusal Regresyon
R'de Adımsal Doğrusal Regresyon
  • 1. Adım: Her tahminciyi y üzerinde ayrı ayrı regresleyin. Yani, y üzerinde x_1'i, y üzerinde x_2'yi x_n'ye gerileyin. Sakla p-değeri ve regresörü tanımlanmış bir eşikten (varsayılan olarak 0.1) daha düşük bir p değeriyle tutun. Anlamlılığı eşikten düşük olan tahmin ediciler nihai modele eklenecektir. Hiçbir değişkenin p değeri giriş eşiğinden düşük değilse algoritma durur ve yalnızca sabit içeren son modelinize sahip olursunuz.
  • 2. Adım: En düşük p-değerine sahip tahmin ediciyi kullanın ve ayrı olarak bir değişken ekleyin. Birinci adımın en iyi tahmin edicisi olan bir sabiti ve üçüncü bir değişkeni geriletirsiniz. Adımsal modele, giriş eşiğinden daha düşük bir değere sahip yeni tahmin edicileri eklersiniz. Hiçbir değişkenin p-değeri 0.1'den düşük değilse, algoritma durur ve yalnızca bir tahmin ediciye sahip son modeliniz olur. Adım 1'in en iyi tahmin edicilerinin anlamlılığını kontrol etmek için adımsal modeli geriletirsiniz. Kaldırma eşiğinden yüksekse, onu adımsal modelde tutarsınız. Aksi takdirde, onu hariç tutarsınız.
  • 3. Adım: Adım 2'yi yeni en iyi adım adım modelde tekrarlarsınız. Algoritma, girilen değerlere göre adım adım modele tahmin ediciler ekler ve hariç tutma eşiğini karşılamıyorsa tahmin ediciyi adım adım modelden hariç tutar.
  • Algoritma, hiçbir değişken eklenemeyen veya çıkarılamayana kadar devam eder.

Algoritmayı olsrr paketindeki ols_stepwise() fonksiyonu ile gerçekleştirebilirsiniz.

ols_stepwise(fit, pent = 0.1, prem = 0.3, details = FALSE)

arguments:
-fit:  Model to fit. Need to use `lm()`before to run `ols_stepwise()
-pent: Threshold of the p-value used to enter a variable into the stepwise model. By default, 0.1
-prem: Threshold of the p-value used to exclude a variable into the stepwise model. By default, 0.3
-details: Print the details of each step

Bundan önce size algoritmanın adımlarını gösteriyoruz. Aşağıda bağımlı ve bağımsız değişkenleri içeren bir tablo bulunmaktadır:

Bağımlı değişken Bağımsız değişkenler
mpg disp'e
hp
kaba
wt
qsec

Başlama

Başlangıç ​​olarak algoritma, modeli her bağımsız değişken üzerinde ayrı ayrı çalıştırarak başlar. Tablo her model için p değerini gösterir.

## [[1]]
##  (Intercept)         disp 
## 3.576586e-21 9.380327e-10 
## 
## [[2]]
##  (Intercept)           hp 
## 6.642736e-18 1.787835e-07 
## 
## [[3]]
##  (Intercept)         drat 
## 0.1796390847 0.0000177624 
## 
## [[4]]
##  (Intercept)           wt 
## 8.241799e-19 1.293959e-10 
## 
## [[5]
## (Intercept)        qsec 
##  0.61385436  0.01708199

Modele girmek için algoritma en düşük p değerine sahip değişkeni tutar. Yukarıdaki çıktıya göre, ağırlık

1. Adım

İlk adımda algoritma mpg'yi wt ve diğer değişkenler üzerinde bağımsız olarak çalıştırır.

## [[1]]
##  (Intercept)           wt         disp
## 4.910746e-16 7.430725e-03 6.361981e-02 
## 
## [[2]]
##  (Intercept)           wt           hp 
## 2.565459e-20 1.119647e-06 1.451229e-03 
## 
## [[3]]
##  (Intercept)           wt         drat 
## 2.737824e-04 1.589075e-06 3.308544e-01 
## 
## [[4]]
##  (Intercept)           wt         qsec 
## 7.650466e-04 2.518948e-11 1.499883e-03

Her değişken nihai modele girmek için potansiyel bir adaydır. Ancak algoritma yalnızca p değeri daha düşük olan değişkeni tutar. HP'nin qsec'den biraz daha düşük bir p değerine sahip olduğu ortaya çıktı. Bu nedenle hp son modele giriyor

2. Adım

Algoritma ilk adımı tekrarlıyor ancak bu sefer son modelde iki bağımsız değişken var.

## [[1]]
##  (Intercept)           wt           hp         disp 
## 1.161936e-16 1.330991e-03 1.097103e-02 9.285070e-01 
## 
## [[2]]
##  (Intercept)           wt           hp         drat 
## 5.133678e-05 3.642961e-04 1.178415e-03 1.987554e-01 
## 
## [[3]]
##  (Intercept)           wt           hp         qsec 
## 2.784556e-03 3.217222e-06 2.441762e-01 2.546284e-01

Nihai modele giren değişkenlerin hiçbiri yeterince düşük bir p değerine sahip değildir. Algoritma burada duruyor; son modelimiz var:

## 
## Call:
## lm(formula = mpg ~ wt + hp, data = df)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -3.941 -1.600 -0.182  1.050  5.854 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 37.22727    1.59879  23.285  < 2e-16 ***
## wt          -3.87783    0.63273  -6.129 1.12e-06 ***
## hp          -0.03177    0.00903  -3.519  0.00145 ** 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.593 on 29 degrees of freedom
## Multiple R-squared:  0.8268, Adjusted R-squared:  0.8148 
## F-statistic: 69.21 on 2 and 29 DF,  p-value: 9.109e-12

Sonuçları karşılaştırmak için ols_stepwise() fonksiyonunu kullanabilirsiniz.

stp_s <-ols_stepwise(fit, details=TRUE)

Çıktı:

Algoritma 2 adımdan sonra bir çözüm bulur ve daha önce elde ettiğimiz çıktının aynısını döndürür.

Sonunda modellerin iki değişken ve bir kesişme noktasıyla açıklandığını söyleyebilirsiniz. Galon başına mil, Brüt beygir gücü ve Ağırlık ile negatif ilişkilidir

## You are selecting variables based on p value...
## 1 variable(s) added....
## Variable Selection Procedure
##  Dependent Variable: mpg 
## 
##  Stepwise Selection: Step 1 
## 
##  Variable wt Entered 
## 
##                         Model Summary                          
## --------------------------------------------------------------
## R                       0.868       RMSE                3.046 
## R-Squared               0.753       Coef. Var          15.161 
## Adj. R-Squared          0.745       MSE                 9.277 
## Pred R-Squared          0.709       MAE                 2.341 
## --------------------------------------------------------------
##  RMSE: Root Mean Square Error 
##  MSE: Mean Square Error 
##  MAE: Mean Absolute Error 
##		ANOVA                                 
## --------------------------------------------------------------------
##                 Sum of                                              
##                Squares        DF    Mean Square      F         Sig. 
## --------------------------------------------------------------------
## Regression     847.725         1        847.725    91.375    0.0000 
## Residual       278.322        30          9.277                     
## Total         1126.047        31                                    
## --------------------------------------------------------------------
## 
##                                   Parameter Estimates                                    
## ----------------------------------------------------------------------------------------
##       model      Beta    Std. Error    Std. Beta      t        Sig      lower     upper 
## ----------------------------------------------------------------------------------------
## (Intercept)    37.285         1.878                 19.858    0.000    33.450    41.120 
##          wt    -5.344         0.559       -0.868    -9.559    0.000    -6.486    -4.203 
## ----------------------------------------------------------------------------------------
## 1 variable(s) added...
## Stepwise Selection: Step 2 
## 
##  Variable hp Entered 
## 
##                         Model Summary                          
## --------------------------------------------------------------
## R                       0.909       RMSE                2.593 
## R-Squared               0.827       Coef. Var          12.909 
## Adj. R-Squared          0.815       MSE                 6.726 
## Pred R-Squared          0.781       MAE                 1.901 
## --------------------------------------------------------------
##  RMSE: Root Mean Square Error 
##  MSE: Mean Square Error 
##  MAE: Mean Absolute Error 
##			ANOVA                                 
## --------------------------------------------------------------------
##                 Sum of                                              
##                Squares        DF    Mean Square      F         Sig. 
## --------------------------------------------------------------------
## Regression     930.999         2        465.500    69.211    0.0000 
## Residual       195.048        29          6.726                     
## Total         1126.047        31                                    
## --------------------------------------------------------------------
## 
##                                   Parameter Estimates                                    
## ----------------------------------------------------------------------------------------
##       model      Beta    Std. Error    Std. Beta      t        Sig      lower     upper 
## ----------------------------------------------------------------------------------------
## (Intercept)    37.227         1.599                 23.285    0.000    33.957    40.497 
##          wt    -3.878         0.633       -0.630    -6.129    0.000    -5.172    -2.584 
##          hp    -0.032         0.009       -0.361    -3.519    0.001    -0.050    -0.013 
## ----------------------------------------------------------------------------------------
## No more variables to be added or removed.

Makine öğrenme

Makine öğrenme Veri bilimcileri arasında yaygınlaşıyor ve her gün kullandığınız yüzlerce üründe kullanılıyor. İlk ML uygulamalarından biri spam filtresi.

Makine Öğrenmesinin diğer uygulamaları şunlardır:

  • E-postadaki istenmeyen spam mesajlarının tanımlanması
  • Hedefli reklamcılık için müşteri davranışının segmentlere ayrılması
  • Sahte kredi kartı işlemlerinin azaltılması
  • Ev ve ofis binalarında enerji kullanımının optimizasyonu
  • Yüz tanıma

Denetimli Öğrenme

In Denetimli Öğrenmealgoritmaya beslediğiniz eğitim verileri bir etiket içerir.

Sınıflandırma muhtemelen en çok kullanılan gözetimli öğrenme tekniğidir. Araştırmacıların ele aldığı ilk sınıflandırma görevlerinden biri spam filtresiydi. Öğrenmenin amacı, bir e-postanın spam veya ham (iyi e-posta) olarak sınıflandırılıp sınıflandırılmadığını tahmin etmektir. Makine, eğitim adımından sonra e-postanın sınıfını tespit edebilir.

Regresyonlar sürekli değeri tahmin etmek için makine öğrenimi alanında yaygın olarak kullanılır. Regresyon görevi bir değeri tahmin edebilir bağımlı değişken bir dizi dayalı bağımsız değişkenler (aynı zamanda öngörücüler veya regresörler olarak da adlandırılır). Örneğin, doğrusal regresyonlar hisse senedi fiyatını, hava tahminini, satışları vb. tahmin edebilir.

İşte bazı temel denetimli öğrenme algoritmalarının listesi.

  • Doğrusal regresyon
  • Lojistik regresyon
  • En Yakın Komşular
  • Destek Vektör Makinesi (SVM)
  • Karar ağaçları ve Rastgele Orman
  • Nöral ağlar

Denetimsiz Öğrenme

In Denetimsiz Öğrenme, eğitim verileri etiketlenmemiştir. Sistem referans olmadan öğrenmeye çalışır. Aşağıda denetimsiz öğrenme algoritmalarının bir listesi bulunmaktadır.

  • K-ortalaması
  • Hiyerarşik Cluster Analiz
  • Beklenti Maksimizasyonu
  • Görselleştirme ve boyutluluk azaltma
  • Temel bileşenler Analizi
  • Çekirdek PCA'sı
  • Yerel Doğrusal Gömme

ÖZET

  • Doğrusal regresyon basit bir soruyu yanıtlar: Bir hedef değişken ile bir dizi yordayıcı arasındaki kesin ilişkiyi ölçebilir misiniz?
  • En Küçük Kareler yöntemi, karelenmiş hataların toplamını, yani tahmin edilen y değerleri ile gerçek y değerleri arasındaki dikey mesafeyi en aza indiren parametreleri bulmaya çalışır.
  • Birden fazla bağımsız değişkeni içeren olasılıksal modele çoklu regresyon modelleri denir.
  • Adımsal Doğrusal Regresyon algoritmasının amacı, modeldeki potansiyel adayları eklemek veya çıkarmak ve bağımlı değişken üzerinde önemli etkisi olanları tutmaktır.
  • Değişken seçimi bir modele uyum sağlamanın önemli bir parçasıdır. Adımsal regresyon arama sürecini otomatik olarak gerçekleştirir.

Sıradan en küçük kareler regresyonu aşağıdaki tabloda özetlenebilir:

Kütüphane Nesnel işlev Argümanlar
baz Doğrusal bir regresyon hesaplayın lm() formül, veri
baz Modeli özetle özetle() uygun
baz Katsayıları çıkar lm()$katsayısı
baz Artıkları çıkar lm()$kalıntılar
baz Takılan değeri çıkar lm()$fitted.values
olsrr Adım adım regresyon çalıştır ols_adımsal() uygun, pent = 0.1, prem = 0.3, ayrıntılar = YANLIŞ

not: Modele uymadan önce kategorik değişkeni faktöre dönüştürmeyi unutmayın.