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:
nerede
- y = Bağımlı değişken
- x = Bağımsız değişken
-
= rastgele hata bileşeni
-
= kesişme
-
= x katsayısı
Aşağıdaki olay örgüsünü düşünün:
denklem 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 ve
adlı 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, 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 ve
basittir. Bu derste amaç türetmeyi göstermek değildir. Sadece formülü yazacaksınız.
Tahmin etmek istiyorsunuz:
OLS regresyonunun amacı aşağıdaki denklemi en aza indirmektir:
nerede
gerçek değerdir ve
tahmin edilen değerdir.
Çözüm is
Bunu not et x'in ortalama değeri anlamına gelir
Çözüm is
R'de tahmin etmek için cov() ve var() işlevini kullanabilirsiniz. ve tahmin etmek için ortalama () işlevini kullanabilirsiniz.
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:
Matris gösteriminde modeli yeniden yazabilirsiniz:
Bağımlı değişken y artık k bağımsız değişkenin bir fonksiyonudur. Katsayının değeri bağımsız değişkenin katkısını belirler
ve
.
Rastgele hatayla ilgili yaptığımız varsayımı kısaca tanıtıyoruz OLS'den:
- Ortalama 0'a eşit
- Varyans eşittir
- Normal dağılım
- Rastgele hatalar bağımsızdır (olasılıksal anlamda)
için çözmeniz gerekiyor , 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ü:
ile:
- gösterir aktarmak X matrisinin
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 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'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:
İ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ı:
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ı:
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: 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ı:
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:
- 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.