Линейная регрессия — это статистический метод, используемый для моделирования линейной зависимости между зависимой переменной (также известной как переменная отклика) и одной или несколькими независимыми переменными (также известными как независимые переменные). Он используется для прогнозирования значения зависимой переменной на основе значений независимых переменных.
В модели линейной регрессии предполагается, что зависимая переменная является линейной функцией независимых переменных с добавленным членом ошибки для учета любого отклонения от линейной зависимости. Затем модель подгоняется к данным путем оценки параметров модели, которые минимизируют ошибку между прогнозируемыми значениями и наблюдаемыми значениями.
Линейная регрессия часто используется для прогнозирования непрерывной переменной, такой как цена дома, в зависимости от его размера и местоположения. Это простой и широко используемый метод моделирования линейных отношений, который часто используется в качестве отправной точки для более сложных моделей.
При использовании линейной регрессии делается несколько допущений, в том числе:
- Связь между зависимой и независимой переменными является линейной.
- Член ошибки нормально распределен и имеет нулевое среднее значение
- Ошибки независимы и одинаково распределены (i.i.d.)
Нарушение этих допущений может привести к предвзятым или неверным результатам, поэтому важно тщательно взвесить, подходит ли линейная регрессия для данной задачи.
Вот пример того, как подогнать модель линейной регрессии в R:
#Import the data housing1.csv and assign to an object dataset – Dataset available from #https://www.dropbox.com/scl/fo/a7vnbbaoq7aoh48w48yts/h?dl=0&rlkey=rijlse546cuwd0ef0rg0offbu data1<-read.csv("housing1.csv") #DISPLAY THE STRUCTURE OF THE DATASET structure(data1) #FEATURE ENGINEERING AND DATA PARTIONING library(caTools) set.seed(123) sample.split(data1$B,SplitRatio=2/3) #FITTING A MODEL FOR LINEAR REGRESSION Train=subset(x=data1,split=TRUE) Test=subset(x=data1,split=FALSE) lm(formula=X~B,data=Train) #PREDICT THE MODEL y_pred=predict(object=lm,newdata=Test) #PLOT THE PREDICTED MODEL library(ggplot2) ggplot(data=data1)+geom_point(aes(x=X,y=B)) #PERFORMANCE EVALUATION USING RMSE AND R-SQUARE reg=sqrt(sum(y_pred$MEDV)^2)/length(Test$MEDV) plot(reg)
Этот код будет подгонять модель линейной регрессии к данным, и мы можем оценить ее, используя меру RMSE, формула для нее:
Вы можете настроить модель, изменив формулу в функции lm
, и вы можете настроить график, добавив дополнительные слои или изменив внешний вид.
Это всего лишь базовый пример того, как подобрать модель линейной регрессии в R. Существует множество других опций и функций, доступных для более сложного моделирования и анализа.