R Kroková a vícenásobná lineární regrese [Příklad krok za krokem]

Jednoduchá lineární regrese v R

Lineární regrese odpovídá na jednoduchou otázku: Dokážete změřit přesný vztah mezi jednou cílovou proměnnou a sadou prediktorů?

Nejjednodušší z pravděpodobnostních modelů je přímkový model:

Jednoduchá lineární regrese v R

kde

  • y = závislá proměnná
  • x = Nezávislá proměnná
  • Jednoduchá lineární regrese v R = náhodná chybová složka
  • Jednoduchá lineární regrese v R = zachytit
  • Jednoduchá lineární regrese v R = Koeficient x

Zvažte následující spiknutí:

Jednoduchá lineární regrese v R

Rovnice je Jednoduchá lineární regrese v R je odposlech. Pokud se x rovná 0, y se bude rovnat průsečíku, 4.77. je sklon čáry. Říká, v jakém poměru se mění y, když se mění x.

Pro odhad optimálních hodnot Jednoduchá lineární regrese v R si Jednoduchá lineární regrese v R, použijete metodu s názvem Obyčejné nejmenší čtverce (OLS). Tato metoda se snaží najít parametry, které minimalizují součet kvadrátů chyb, tj. vertikální vzdálenost mezi předpokládanými hodnotami y a skutečnými hodnotami y. Rozdíl je známý jako chybový termín.

Než odhadnete model, můžete určit, zda je lineární vztah mezi y a x věrohodný, vynesením bodového grafu.

Bodový diagram

K vysvětlení konceptu jednoduché lineární regrese použijeme velmi jednoduchý soubor dat. Budeme importovat průměrné výšky a váhy pro americké ženy. Soubor dat obsahuje 15 pozorování. Chcete změřit, zda jsou výšky pozitivně korelovány s váhami.

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()

Výstup:

Bodový diagram

Bodový graf naznačuje obecnou tendenci pro y se zvětšovat se zvyšujícím se x. V dalším kroku budete měřit, o kolik se zvýší za každý další .

Odhady nejmenších čtverců

V jednoduché regresi OLS, výpočet Odhady nejmenších čtverců si Odhady nejmenších čtverců je přímočarý. Cílem není v tomto tutoriálu ukázat odvození. Napíšete pouze vzorec.

Chcete odhadnout: Odhady nejmenších čtverců

Cílem regrese OLS je minimalizovat následující rovnici:

Odhady nejmenších čtverců

kde

Odhady nejmenších čtverců je skutečná hodnota a Odhady nejmenších čtverců je předpokládaná hodnota.

Řešení pro Odhady nejmenších čtverců is Odhady nejmenších čtverců

Všimněte si, že Odhady nejmenších čtverců znamená průměrnou hodnotu x

Řešení pro Odhady nejmenších čtverců is Odhady nejmenších čtverců

V R můžete k odhadu použít funkce cov() a var(). Odhady nejmenších čtverců a k odhadu můžete použít funkci mean(). Odhady nejmenších čtverců

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

Výstup:

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

Výstup:

## [1] -87.51667

Koeficient beta znamená, že s každou další výškou se hmotnost zvýší o 3.45.

Ruční odhad jednoduché lineární rovnice není ideální. R poskytuje vhodnou funkci pro odhad těchto parametrů. Tuto funkci brzy uvidíte. Předtím si představíme, jak ručně vypočítat jednoduchý lineární regresní model. Na své cestě datového vědce jen stěží nebo nikdy neodhadnete jednoduchý lineární model. Ve většině situací jsou regresní úlohy prováděny na mnoha odhadech.

Vícenásobná lineární regrese v R

Praktičtější aplikace regresní analýzy využívají modely, které jsou složitější než jednoduchý lineární model. Pravděpodobnostní model, který zahrnuje více než jednu nezávislou proměnnou, se nazývá vícenásobné regresní modely. Obecná forma tohoto modelu je:

Vícenásobná lineární regrese v R

V maticovém zápisu můžete model přepsat:

  • Vícenásobná lineární regrese v R

Závisle proměnná y je nyní funkcí k nezávislých proměnných. Hodnota koeficientu Vícenásobná lineární regrese v R určuje příspěvek nezávisle proměnné Vícenásobná lineární regrese v R si Vícenásobná lineární regrese v R.

Stručně představíme předpoklad, který jsme učinili o náhodné chybě Vícenásobná lineární regrese v R z OLS:

  • Průměr rovný 0
  • Rozptyl rovný Vícenásobná lineární regrese v R
  • Normální distribuce
  • Náhodné chyby jsou nezávislé (v pravděpodobnostním smyslu)

Potřebujete vyřešit Vícenásobná lineární regrese v R, vektor regresních koeficientů, které minimalizují součet druhých mocnin chyb mezi předpokládanými a skutečnými hodnotami y.

Uzavřené řešení je:

Vícenásobná lineární regrese v R

s:

  • označuje transponovat matice X
  • Vícenásobná lineární regrese v R označuje invertibilní matice

Používáme datovou sadu mtcars. S datovou sadou jste již obeznámeni. Naším cílem je předpovídat míli na galon přes sadu funkcí.

Spojité proměnné v R

Prozatím budete používat pouze spojité proměnné a odložit kategorické prvky. Proměnná am je binární proměnná nabývající hodnoty 1, pokud je převodovka manuální, a 0 pro vozy s automatickou převodovkou; vs je také binární proměnná.

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

Výstup:

## 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...

K výpočtu parametrů můžete použít funkci lm(). Základní syntaxe této funkce je:

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

Pamatujte, že rovnice má následující tvar

Spojité proměnné v R

v R.

  • Symbol = je nahrazen znakem ~
  • Každé x je nahrazeno názvem proměnné
  • Pokud chcete konstantu vypustit, přidejte na konec vzorce -1

Příklad:

Chcete odhadnout váhu jednotlivců na základě jejich výšky a příjmů. Rovnice je

Spojité proměnné v R

Rovnice v R je napsána takto:

y ~ X1+ X2+…+Xn # Se zachycením

Takže pro náš příklad:

  • Zvažte ~ výšku + výnos

Vaším cílem je odhadnout míli na galon na základě souboru proměnných. Rovnice k odhadu je:

Spojité proměnné v R

Odhadnete svou první lineární regresi a uložíte výsledek do proloženého objektu.

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

Vysvětlení kódu

  • model <- mpg ~. disp + hp + drat+ wt: Uložte model pro odhad
  • lm(model, df): Odhadněte model s datovým rámcem df
## 
## 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	

Výstup neposkytuje dostatek informací o kvalitě lícování. K dalším podrobnostem, jako je význam koeficientů, stupeň volnosti a tvar reziduí, můžete přistupovat pomocí funkce Summary().

summary(fit)

Výstup:

## 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

Odvození z výše uvedené tabulky

  • Výše uvedená tabulka dokazuje, že existuje silný negativní vztah mezi hmotností a počtem najetých kilometrů a pozitivní vztah k drat.
  • Statistický dopad na mpg má pouze proměnná wt. Pamatujte, že k testování hypotézy ve statistice používáme:
    • H0: Žádný statistický dopad
    • H3: Prediktor má významný dopad na y
    • Pokud je hodnota p nižší než 0.05, znamená to, že proměnná je statisticky významná
  • Upravený R-squared: Rozptyl vysvětlený modelem. Ve vašem modelu model vysvětlil 82 procent rozptylu y. R na druhou je vždy mezi 0 a 1. Čím vyšší, tím lepší

Můžete spustit ANOVA test k odhadu účinku každého prvku na odchylky s funkcí anova().

anova(fit)

Výstup:

## 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	

Běžnějším způsobem odhadu výkonnosti modelu je zobrazení rezidua proti různým měřením.

Pomocí funkce plot() můžete zobrazit čtyři grafy:

– Zbytkové hodnoty vs

– Normální graf QQ: Teoretický kvartil vs. standardizované rezidua

– Umístění měřítka: Proložené hodnoty vs. odmocniny standardizovaných reziduí

– Zbytky vs. Pákový efekt: Pákový efekt vs. Standardizované zbytky

Před plot(fit) přidáte kód par(mfrow=c(2,2)). Pokud tento řádek kódu nepřidáte, R vás vyzve ke stisknutí příkazu enter a zobrazí se další graf.

par(mfrow=(2,2))

Vysvětlení kódu

  • (mfrow=c(2,2)): vrátí okno se čtyřmi grafy vedle sebe.
  • První 2 přidávají počet řádků
  • Druhá 2 přidá počet sloupců.
  • Pokud napíšete (mfrow=c(3,2)): vytvoříte okno 3 řádky 2 sloupce
plot(fit)

Výstup:

Spojité proměnné v R

Vzorec lm() vrací seznam obsahující mnoho užitečných informací. Můžete k nim přistupovat pomocí přizpůsobeného objektu, který jste vytvořili, následovaný znakem $ a informacemi, které chcete extrahovat.

– koeficienty: `fit$coefficients`

– zbytky: `fit$residuals`

– přizpůsobená hodnota: `fit$fitted.values`

Regrese faktorů v R

V posledním odhadu modelu regresujete mpg pouze na spojité proměnné. Přidání faktorových proměnných do modelu je jednoduché. Do svého modelu přidáte proměnnou am. Je důležité se ujistit, že proměnná je na úrovni faktoru a není spojitá.

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

Výstup:

## 
## 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 používá úroveň prvního faktoru jako základní skupinu. Musíte porovnat koeficienty druhé skupiny se základní skupinou.

Kroková lineární regrese v R

Poslední část tohoto tutoriálu se zabývá postupná regrese algoritmus. Účelem tohoto algoritmu je přidat a odebrat potenciální kandidáty v modelech a ponechat ty, kteří mají významný vliv na závislou proměnnou. Tento algoritmus má smysl, když datová sada obsahuje velký seznam prediktorů. Nezávislé proměnné nemusíte ručně přidávat a odebírat. Postupná regrese je navržena tak, aby vybrala nejlepší kandidáty, kteří budou odpovídat modelu.

Podívejme se v akci, jak to funguje. Datovou sadu mtcars se spojitými proměnnými používáte pouze pro pedagogickou ilustraci. Než začnete s analýzou, je dobré stanovit rozdíly mezi daty pomocí korelační matice. Knihovna GGally je rozšířením ggplot2.

Knihovna obsahuje různé funkce pro zobrazení souhrnných statistik, jako je korelace a distribuce všech proměnných v matici. Použijeme funkci ggscatmat, ale můžete se podívat na viněta pro více informací o knihovně GGally.

Základní syntaxe pro ggscatmat() je:

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

Zobrazíte korelaci pro všechny své proměnné a rozhodnete, která z nich bude nejlepšími kandidáty pro první krok postupné regrese. Mezi vašimi proměnnými a závislou proměnnou, mpg, existují určité silné korelace.

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

Výstup:

Kroková lineární regrese v R

Kroková regrese Příklad krok za krokem

Výběr proměnných je důležitou součástí pro přizpůsobení modelu. Postupná regrese provede proces vyhledávání automaticky. Chcete-li odhadnout, kolik možných možností je v datové sadě, vypočítejte Kroková regrese Příklad krok za krokem kde k je počet prediktorů. Množství možností roste s počtem nezávislých proměnných. Proto je potřeba mít automatické vyhledávání.

Musíte nainstalovat balíček olsrr z CRAN. Balíček zatím není k dispozici v Anaconda. Proto jej nainstalujete přímo z příkazového řádku:

install.packages("olsrr")

Můžete vykreslit všechny podmnožiny možností pomocí kritérií shody (tj. R-kvadrát, Upravený R-kvadrát, Bayesovská kritéria). Konečným modelem bude model s nejnižšími kritérii AIC.

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

Vysvětlení kódu

  • mpg ~.: Sestrojte model pro odhad
  • lm(model, df): Spusťte model OLS
  • ols_all_subset(fit): Sestavte grafy s relevantními statistickými informacemi
  • zápletka (test): Nakreslete grafy

Výstup:

Kroková regrese Příklad krok za krokem

Lineární regresní modely využívají t-test odhadnout statistický dopad nezávislé proměnné na závisle proměnnou. Výzkumníci stanovili maximální práh na 10 procent, přičemž nižší hodnoty znamenají silnější statistickou vazbu. Strategie postupné regrese je postavena kolem tohoto testu pro přidání a odstranění potenciálních kandidátů. Algoritmus funguje následovně:

Kroková lineární regrese v R
Kroková lineární regrese v R
  • Krok 1: Regrese každého prediktoru na y samostatně. Konkrétně regrese x_1 na y, x_2 na y na x_n. Uložte p-hodnota a udržujte regresor s hodnotou p nižší než definovaná prahová hodnota (výchozí 0.1). Do výsledného modelu budou přidány prediktory s významností nižší než prahová. Pokud žádná proměnná nemá p-hodnotu nižší než vstupní práh, pak se algoritmus zastaví a máte konečný model pouze s konstantou.
  • Krok 2: Použijte prediktor s nejnižší p-hodnotou a přidejte samostatně jednu proměnnou. Regresujete konstantu, nejlepší prediktor prvního kroku a třetí proměnné. Do krokového modelu přidáte nové prediktory s hodnotou nižší, než je vstupní práh. Pokud žádná proměnná nemá p-hodnotu nižší než 0.1, pak se algoritmus zastaví a máte svůj konečný model pouze s jedním prediktorem. Regresujete krokový model, abyste zkontrolovali významnost nejlepších prediktorů kroku 1. Pokud je vyšší než práh odstranění, ponecháte jej v krokovém modelu. Jinak to vyloučíte.
  • Krok 3: Krok 2 replikujete na nový nejlepší krokový model. Algoritmus přidává prediktory do krokového modelu na základě zadaných hodnot a vylučuje prediktor z postupného modelu, pokud nesplňuje vylučovací práh.
  • Algoritmus pokračuje, dokud nelze přidat nebo vyloučit žádnou proměnnou.

Algoritmus můžete provést pomocí funkce ols_stepwise() z balíčku olsrr.

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

Předtím vám ukážeme kroky algoritmu. Níže je tabulka se závislými a nezávislými proměnnými:

Závislá proměnná Nezávislé proměnné
mpg dostupný
hp
krysa
wt
qsec

Home

Algoritmus začíná spuštěním modelu na každé nezávislé proměnné samostatně. Tabulka ukazuje p-hodnotu pro každý model.

## [[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

Pro vstup do modelu algoritmus udržuje proměnnou s nejnižší p-hodnotou. Z výše uvedeného výkonu je hm

Krok 1

V prvním kroku algoritmus běží mpg na wt a ostatních proměnných nezávisle.

## [[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

Každá proměnná je potenciálním kandidátem na vstup do finálního modelu. Algoritmus však zachovává pouze proměnnou s nižší p-hodnotou. Ukázalo se, že hp má o něco nižší p-hodnotu než qsec. Proto hp vstupuje do finálního modelu

Krok 2

Algoritmus opakuje první krok, ale tentokrát se dvěma nezávislými proměnnými v konečném modelu.

## [[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

Žádná z proměnných, která vstoupila do finálního modelu, nemá dostatečně nízkou p-hodnotu. Algoritmus se zde zastaví; máme finální model:

## 
## 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

K porovnání výsledků můžete použít funkci ols_stepwise().

stp_s <-ols_stepwise(fit, details=TRUE)

Výstup:

Algoritmus najde řešení po 2 krocích a vrátí stejný výstup jako předtím.

Na konci můžete říci, že modely jsou vysvětleny dvěma proměnnými a průsečíkem. Míle na galon negativně korelují s hrubou koňskou silou a hmotností

## 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.

Strojové učení

Strojové učení se stává rozšířeným mezi datovými vědci a je nasazen ve stovkách produktů, které denně používáte. Jedna z prvních aplikací ML byla spamový filtr.

Následují další aplikace strojového učení –

  • Identifikace nevyžádaných spamových zpráv v e-mailu
  • Segmentace chování zákazníků pro cílenou reklamu
  • Snížení počtu podvodných transakcí kreditními kartami
  • Optimalizace využití energie v domácí a kancelářské budově
  • rozpoznávání obličejů se

Dozorované učení

In Dozorované učení, tréninková data, která předáváte algoritmu, obsahují štítek.

Klasifikace je pravděpodobně nejpoužívanější technika učení pod dohledem. Jedním z prvních klasifikačních úkolů, které výzkumníci řešili, byl spamový filtr. Cílem učení je předpovědět, zda je e-mail klasifikován jako spam nebo ham (dobrý e-mail). Stroj po tréninkovém kroku dokáže rozpoznat třídu e-mailu.

Regrese se běžně používají v oblasti strojového učení k predikci spojité hodnoty. Regresní úloha může předpovědět hodnotu a závislá proměnná na základě souboru nezávislé proměnné (také nazývané prediktory nebo regresory). Například lineární regrese mohou předpovídat cenu akcií, předpověď počasí, prodeje a tak dále.

Zde je seznam některých základních algoritmů učení pod dohledem.

  • Lineární regrese
  • Logistická regrese
  • Nejbližší sousedé
  • Support Vector Machine (SVM)
  • Rozhodovací stromy a náhodný les
  • Neuronové sítě

Učení bez dozoru

In Učení bez dozoru, tréninková data nejsou označena. Systém se snaží učit bez reference. Níže je uveden seznam algoritmů učení bez dozoru.

  • K-střední
  • Hierarchický Cluster Analýza
  • Maximalizace očekávání
  • Vizualizace a redukce rozměrů
  • Analýza hlavních komponent
  • Kernel PCA
  • Lokálně-lineární vkládání

Shrnutí

  • Lineární regrese odpovídá na jednoduchou otázku: Dokážete změřit přesný vztah mezi jednou cílovou proměnnou a sadou prediktorů?
  • Obyčejná metoda nejmenších čtverců se snaží najít parametry, které minimalizují součet umocněných chyb, tedy vertikální vzdálenost mezi předpokládanými hodnotami y a skutečnými hodnotami y.
  • Pravděpodobnostní model, který zahrnuje více než jednu nezávislou proměnnou, se nazývá vícenásobné regresní modely.
  • Účelem algoritmu postupné lineární regrese je přidat a odebrat potenciální kandidáty v modelech a ponechat ty, kteří mají významný vliv na závislou proměnnou.
  • Výběr proměnných je důležitou součástí pro přizpůsobení modelu. Postupná regrese provádí proces vyhledávání automaticky.

Obyčejnou regresi nejmenších čtverců lze shrnout v tabulce níže:

Knihovna Objektivní funkce Argumenty
základna Vypočítejte lineární regresi lm() vzorec, data
základna Shrňte model shrnout() fit
základna Extraktové koeficienty lm()$ koeficient
základna Extrahujte zbytky lm()$zbytky
základna Extrahujte přizpůsobenou hodnotu lm()$fitted.values
olsrr Spusťte postupnou regresi ols_stepwise() fit, pent = 0.1, prem = 0.3, detaily = FALSE

Hodnocení: Nezapomeňte předtím transformovat kategorickou proměnnou faktorem, aby odpovídala modelu.