R Проста, множествена линейна и поетапна регресия (с пример)

Съдържание:

Anonim

В този урок ще научите

  • Проста линейна регресия
  • Множествена линейна регресия
  • Непрекъснати променливи
  • Фактори регресия
  • Постепенна регресия
  • Машинно обучение
  • Учене под наблюдение
  • Учене без надзор

Проста линейна регресия

Линейната регресия отговаря на прост въпрос: Можете ли да измервате точна връзка между една целева променлива и набор от предиктори?

Най-простият от вероятностните модели е моделът с права линия:

където

  • y = Зависима променлива
  • x = Независима променлива
  • = случаен компонент на грешка
  • = прихващане
  • = Коефициент на x

Обмислете следния сюжет:

Уравнението е прихващането. Ако x е равно на 0, y ще бъде равно на прихващането, 4.77. е наклонът на линията. Той казва в каква пропорция y варира, когато x варира.

За да изчислите оптималните стойности на , използвате метод, наречен Ordinary Least Squares (OLS) . Този метод се опитва да намери параметрите, които минимизират сумата от квадратите грешки, т.е. вертикалното разстояние между прогнозираните y стойности и действителните y стойности. Разликата е известна като термин за грешка .

Преди да оцените модела, можете да определите дали линейната връзка между y и x е правдоподобна, като начертаете разпръснат график.

Scatterplot

Ще използваме много прост набор от данни, за да обясним концепцията за проста линейна регресия. Ще импортираме средните височини и тегла за американките. Наборът от данни съдържа 15 наблюдения. Искате да измервате дали височините са положително корелирани с теглата.

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

Изход:

Разпръснатият график предполага обща тенденция y да се увеличава с увеличаване на х. В следващата стъпка ще измервате с колко увеличения за всяка допълнителна.

Оценки на най-малките квадрати

При проста OLS регресия изчисляването на е лесно. Целта не е да се покаже изводът в този урок. Ще напишете само формулата.

Искате да прецените:

Целта на регресията на OLS е да сведе до минимум следното уравнение:

където

е прогнозната стойност.

Решението за

Имайте предвид, че това означава средната стойност на x

Решението за

В R можете да използвате функцията cov () и var () за оценка

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

Изход:

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

Изход:

## [1] -87.51667

Бета коефициентът предполага, че за всяка допълнителна височина теглото се увеличава с 3,45.

Ръчното изчисляване на простото линейно уравнение не е идеално. R осигурява подходяща функция за оценка на тези параметри. Ще видите тази функция скоро. Преди това ще ви представим как да изчислите на ръка прост модел на линейна регресия. По време на вашето пътуване на учен за данни едва или никога няма да оцените прост линеен модел. В повечето ситуации задачите за регресия се изпълняват върху много оценители.

Множествена линейна регресия

По-практичните приложения на регресионния анализ използват модели, които са по-сложни от обикновения праволинеен модел. Вероятностният модел, който включва повече от една независима променлива, се нарича множество регресионни модели . Общата форма на този модел е:

В матричната нотация можете да пренапишете модела:

Зависимата променлива y сега е функция от k независими променливи. Стойността на коефициента .

Накратко представяме предположението, което направихме за случайната грешка на OLS:

  • Средна стойност равна на 0
  • Дисперсия, равна на
  • Нормална дистрибуция
  • Случайните грешки са независими (в вероятностен смисъл)

Трябва да решите за , вектора на регресионните коефициенти, които минимизират сумата от квадратните грешки между прогнозираните и действителните y стойности.

Решението със затворена форма е:

с:

  • показва транспонирането на матрицата X
  • показва обратимата матрица

Използваме набора от данни mtcars. Вече сте запознати с набора от данни. Нашата цел е да предвидим миля на галон за набор от функции.

Непрекъснати променливи

Засега ще използвате само непрекъснатите променливи и ще оставите настрана категоричните характеристики. Променливата am е двоична променлива, приемаща стойността 1, ако трансмисията е ръчна и 0 за автоматични автомобили; vs също е двоична променлива.

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

Изход:

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

Можете да използвате функцията lm () за изчисляване на параметрите. Основният синтаксис на тази функция е:

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

Не забравяйте, че уравнението е от следната форма

в R

  • Символът = се заменя с ~
  • Всеки x се заменя с името на променливата
  • Ако искате да изпуснете константата, добавете -1 в края на формулата

Пример:

Искате да изчислите теглото на хората въз основа на техния ръст и приходи. Уравнението е

Уравнението в R се записва, както следва:

y ~ X1 + X2 +… + Xn # С прихващане

Така че за нашия пример:

  • Претеглете ~ височина + приходи

Вашата цел е да изчислите милята на галон въз основа на набор от променливи. Уравнението за оценка е:

Ще оцените първата си линейна регресия и ще съхраните резултата в подходящия обект.

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

Обяснение на кода

  • модел <- mpg ~ . disp + hp + drat + wt: Съхранявайте модела за оценка
  • lm (модел, df): Оценете модела с рамката за данни 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

Резултатът не предоставя достатъчно информация за качеството на напасването. Можете да получите достъп до повече подробности като значението на коефициентите, степента на свобода и формата на остатъците с функцията summary ().

summary(fit)

Изход:

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

Заключение от горния изход на таблицата

  • Горната таблица доказва, че има силна отрицателна връзка между теглото и пробега и положителна връзка с drat.
  • Само променливата wt има статистическо въздействие върху mpg. Не забравяйте, че за да проверим хипотеза в статистика, използваме:
    • H0: Няма статистическо въздействие
    • H3: Предсказателят има съществено въздействие върху y
    • Ако р стойността е по-ниска от 0,05, това означава, че променливата е статистически значима
  • Коригиран R-квадрат: Дисперсия, обяснена от модела. Във вашия модел моделът обяснява 82% от дисперсията на y. R на квадрат винаги е между 0 и 1. Колкото по-високо, толкова по-добре

Можете да изпълните ANOVA тест, за да оцените ефекта на всяка характеристика върху дисперсиите с функцията anova ().

anova(fit)

Изход:

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

По-конвенционален начин за оценка на ефективността на модела е да се покаже остатъчното количество спрямо различни мерки.

Можете да използвате функцията plot (), за да покажете четири графики:

- Остатъчни стойности спрямо монтирани стойности

- Нормален QQ график: Теоретичен квартил срещу стандартизирани остатъци

- Scale-Location: Вградени стойности спрямо квадратни корени на стандартизираните остатъци

- Остатъци срещу ливъридж: Ливъридж срещу стандартизирани остатъци

Добавяте кода par (mfrow = c (2,2)) преди графика (годни). Ако не добавите този ред код, R ви подканва да натиснете командата enter, за да се покаже следващата графика.

par(mfrow=(2,2))

Обяснение на кода

  • (mfrow = c (2,2)): връща прозорец с четирите графики една до друга.
  • Първите 2 добавят броя на редовете
  • Втората 2 добавя броя на колоните.
  • Ако напишете (mfrow = c (3,2)): ще създадете прозорец с 3 реда с 2 колони
plot(fit)

Изход:

Формулата lm () връща списък, съдържащ много полезна информация. Можете да получите достъп до тях с подходящия обект, който сте създали, последван от знака $ и информацията, която искате да извлечете.

- коефициенти: `годни $ коефициенти`

- остатъци: `годни $ остатъци`

- монтирана стойност: `fit $ fit.values`

Фактори регресия

В последната оценка на модела регресирате mpg само за непрекъснати променливи. Лесно е да добавите факторни променливи към модела. Добавяте променливата am към вашия модел. Важно е да сте сигурни, че променливата е факторно ниво, а не непрекъсната.

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

Изход:

#### 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 използва първото ниво на фактора като базова група. Трябва да сравните коефициентите на другата група спрямо основната група.

Постепенна регресия

Последната част на този урок разглежда алгоритъма на поетапната регресия . Целта на този алгоритъм е да добавя и премахва потенциални кандидати в моделите и да задържа тези, които имат значително въздействие върху зависимата променлива. Този алгоритъм има значение, когато наборът от данни съдържа голям списък с предиктори. Не е необходимо ръчно да добавяте и премахвате независимите променливи. Поетапната регресия е изградена, за да се изберат най-добрите кандидати, които да отговарят на модела.

Нека да видим в действие как работи. Използвате набора от данни mtcars с непрекъснатите променливи само за педагогическа илюстрация. Преди да започнете анализ, добре е да установите вариации между данните с корелационна матрица. Библиотеката GGally е разширение на ggplot2.

Библиотеката включва различни функции за показване на обобщена статистика като корелация и разпределение на всички променливи в матрица. Ще използваме функцията ggscatmat, но можете да се обърнете към винетката за повече информация относно библиотеката GGally.

Основният синтаксис за ggscatmat () е:

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

Показвате корелацията за всичките си променливи и решавате коя ще бъде най-добрите кандидати за първата стъпка от поетапната регресия. Има някои силни корелации между вашите променливи и зависимата променлива, mpg.

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

Изход:

Постепенна регресия

Изборът на променливи е важна част, за да се побере модел. Поетапната регресия автоматично ще извърши процеса на търсене. За да прецените колко възможни възможности за избор има в набора от данни, изчислявате с k е броят на предикторите. Размерът на възможностите нараства с броя на независимите променливи. Ето защо трябва да имате автоматично търсене.

Трябва да инсталирате пакета olsrr от CRAN. Пакетът все още не е наличен в Anaconda. Следователно го инсталирате директно от командния ред:

install.packages("olsrr")

Можете да начертаете всички подмножества от възможности с подходящите критерии (т.е. R-квадрат, коригиран R-квадрат, байесови критерии). Моделът с най-ниски критерии за AIC ще бъде окончателният модел.

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

Обяснение на кода

  • mpg ~ .: Изградете модела за оценка
  • lm (модел, df): Стартирайте OLS модела
  • ols_all_subset (годни): Постройте графиките със съответната статистическа информация
  • парцел (тест): Начертайте графиките

Изход:

Моделите на линейна регресия използват t-теста за оценка на статистическото въздействие на независима променлива върху зависимата променлива. Изследователите определят максималния праг от 10 процента, като по-ниските стойности показват по-силна статистическа връзка. Около този тест е изградена стратегията на поетапната регресия, за да се добавят и премахнат потенциални кандидати. Алгоритъмът работи както следва:

  • Стъпка 1: Възстановете всеки предиктор на y поотделно. А именно, регресирайте x_1 на y, x_2 на y към x_n. Съхранявайте p-стойността и запазете регресора с p-стойност по-ниска от определения праг (0,1 по подразбиране). Предсказателите със значимост по-ниска от прага ще бъдат добавени към крайния модел. Ако никоя променлива няма р-стойност по-ниска от прага за въвеждане, тогава алгоритъмът спира и вие имате окончателния си модел само с константа.
  • Стъпка 2: Използвайте предиктора с най-ниската p-стойност и добавя отделно една променлива. Регресирате константа, най-добрият предиктор за стъпка първа и трета променлива. Добавяте към поетапния модел новите предиктори със стойност, по-ниска от прага за въвеждане. Ако никоя променлива няма р-стойност по-ниска от 0,1, тогава алгоритъмът спира и вие имате своя окончателен модел само с един предиктор. Регресирате поетапния модел, за да проверите значимостта на най-добрите предиктори за стъпка 1. Ако тя е по-висока от прага за премахване, я запазвате в поетапния модел. В противен случай го изключвате.
  • Стъпка 3: Репликирате стъпка 2 на новия най-добър поетапен модел. Алгоритъмът добавя предиктори към поетапния модел въз основа на въведените стойности и изключва предиктора от стъпаловидния модел, ако не отговаря на изключващия праг.
  • Алгоритъмът продължава, докато никоя променлива не може да бъде добавена или изключена.

Можете да изпълните алгоритъма с функцията ols_stepwise () от пакета 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

Преди това ви показваме стъпките на алгоритъма. По-долу има таблица със зависими и независими променливи:

Зависима променлива

Независими променливи

mpg

disp

к.с.

драт

тегл

qsec

Започнете

Като начало алгоритъмът стартира чрез стартиране на модела на всяка независима променлива поотделно. Таблицата показва р-стойността за всеки модел.

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

За да влезе в модела, алгоритъмът запазва променливата с най-ниската р-стойност. От горния изход е wt

Етап 1

В първата стъпка алгоритъмът изпълнява mpg на wt и другите променливи независимо.

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

Всяка променлива е потенциален кандидат за влизане в крайния модел. Алгоритъмът обаче запазва само променливата с по-ниската р-стойност. Оказва се, че hp има малко по-ниска р-стойност от qsec. Следователно, hp влиза в крайния модел

Стъпка 2

Алгоритъмът повтаря първата стъпка, но този път с две независими променливи в крайния модел.

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

Нито една от променливите, влезли в крайния модел, няма достатъчно ниска р-стойност. Алгоритъмът спира до тук; имаме финалния модел:

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

Можете да използвате функцията ols_stepwise (), за да сравните резултатите.

stp_s <-ols_stepwise(fit, details=TRUE)

Изход:

Алгоритъмът намира решение след 2 стъпки и връща същия изход, който имахме преди.

В края можете да кажете, че моделите се обясняват с две променливи и прихващане. Миля на галон е в отрицателна корелация с бруто конски сили и тегло

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

Машинно обучение

Машинното обучение става широко разпространено сред изследователите на данни и е внедрено в стотици продукти, които използвате ежедневно. Едно от първите ML приложения е филтърът за нежелана поща .

Следват други приложения на машинното обучение -

  • Идентифициране на нежелани спам съобщения в имейл
  • Сегментиране на поведението на клиентите за целенасочена реклама
  • Намаляване на измамни транзакции с кредитни карти
  • Оптимизиране на използването на енергия в дома и офиса
  • Разпознаване на лицето

Учене под наблюдение

При контролирано обучение данните за обучение, които подавате към алгоритъма, включват етикет.

Класификацията е може би най-използваната техника за учене под наблюдение. Една от първите, с които се заеха изследователите на класификационната задача, беше филтърът за нежелана поща. Целта на обучението е да се предскаже дали даден имейл е класифициран като спам или шунка (добър имейл). След стъпката на обучение машината може да открие класа на имейлите.

Регресиите обикновено се използват в областта на машинното обучение за прогнозиране на непрекъсната стойност. Задачата за регресия може да предскаже стойността на зависима променлива въз основа на набор от независими променливи (наричани още предиктори или регресори). Например линейните регресии могат да предскажат цена на акциите, прогноза за времето, продажби и т.н.

Ето списъка на някои фундаментални контролирани учебни алгоритми.

  • Линейна регресия
  • Логистична регресия
  • Най-близки съседи
  • Поддръжка на векторна машина (SVM)
  • Дървета за вземане на решения и случайна гора
  • Невронни мрежи

Учене без надзор

При учене без наблюдение данните за обучението не са етикетирани. Системата се опитва да учи без препратка. По-долу е даден списък на алгоритмите за учене без надзор.

  • K-означава
  • Йерархичен клъстер анализ
  • Максимизиране на очакванията
  • Визуализация и намаляване на размерите
  • Анализ на главния компонент
  • PCA на ядрото
  • Локално-линейно вграждане

Обобщение

Обикновената регресия с най-малък квадрат може да бъде обобщена в таблицата по-долу:

Библиотека

Обективен

Функция

Аргументи

база

Изчислете линейна регресия

lm ()

формула, данни

база

Обобщение на модела

обобщавам ()

годни

база

Коефициенти на екстракт

lm () $ коефициент

база

Извличане на остатъци

lm () $ остатъци

база

Точно монтирана стойност

lm () $ fit.values

olsrr

Изпълнете поетапна регресия

ols_stepwise ()

годни, pent = 0,1, prem = 0,3, детайли = FALSE

Забележка : Не забравяйте да преобразувате категориалната променлива във фактор, преди да се побере в модела.