R-선형 회귀

회귀 분석은 두 변수 간의 관계 모델을 설정하기 위해 매우 널리 사용되는 통계 도구입니다. 이러한 변수 중 하나를 예측 변수라고하며 실험을 통해 값을 수집합니다. 다른 변수는 예측 변수에서 값이 파생되는 반응 변수라고합니다.

선형 회귀에서이 두 변수는 방정식을 통해 관련되며 두 변수의 지수 (승수)는 1입니다. 수학적으로 선형 관계는 그래프로 표시 될 때 직선을 나타냅니다. 변수의 지수가 1이 아닌 비선형 관계는 곡선을 만듭니다.

선형 회귀에 대한 일반적인 수학 방정식은 다음과 같습니다.

y = ax + b

다음은 사용 된 매개 변수에 대한 설명입니다.

  • y 반응 변수입니다.

  • x 예측 변수입니다.

  • ab 계수라고하는 상수입니다.

회귀를 설정하는 단계

회귀의 간단한 예는 키를 알고있을 때 사람의 체중을 예측하는 것입니다. 이렇게하려면 사람의 키와 몸무게 사이의 관계가 필요합니다.

관계를 만드는 단계는-

  • 관찰 된 키와 해당 무게 값의 샘플을 수집하는 실험을 수행합니다.

  • 다음을 사용하여 관계 모델을 만듭니다. lm() R의 기능.

  • 생성 된 모델에서 계수를 찾고 다음을 사용하여 수학 방정식을 만듭니다.

  • 예측의 평균 오류를 알기 위해 관계 모델의 요약을 가져옵니다. 또한residuals.

  • 새로운 사람의 체중을 예측하려면 predict() R의 기능.

입력 데이터

다음은 관찰을 나타내는 샘플 데이터입니다.

# Values of height
151, 174, 138, 186, 128, 136, 179, 163, 152, 131

# Values of weight.
63, 81, 56, 91, 47, 57, 76, 72, 62, 48

lm () 함수

이 함수는 예측 변수와 반응 변수 간의 관계 모델을 만듭니다.

통사론

기본 구문 lm() 선형 회귀 함수는-

lm(formula,data)

다음은 사용 된 매개 변수에 대한 설명입니다.

  • formula x와 y 사이의 관계를 나타내는 기호입니다.

  • data 수식이 적용될 벡터입니다.

관계 모델 생성 및 계수 얻기

x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

print(relation)

위 코드를 실행하면 다음과 같은 결과가 생성됩니다.

Call:
lm(formula = y ~ x)

Coefficients:
(Intercept)            x  
   -38.4551          0.6746

관계 요약보기

x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

print(summary(relation))

위 코드를 실행하면 다음과 같은 결과가 생성됩니다.

Call:
lm(formula = y ~ x)

Residuals:
    Min      1Q     Median      3Q     Max 
-6.3002    -1.6629  0.0412    1.8944  3.9775 

Coefficients:
             Estimate Std. Error t value Pr(>|t|)    
(Intercept) -38.45509    8.04901  -4.778  0.00139 ** 
x             0.67461    0.05191  12.997 1.16e-06 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 3.253 on 8 degrees of freedom
Multiple R-squared:  0.9548,    Adjusted R-squared:  0.9491 
F-statistic: 168.9 on 1 and 8 DF,  p-value: 1.164e-06

predict () 함수

통사론

선형 회귀에서 predict ()의 기본 구문은 다음과 같습니다.

predict(object, newdata)

다음은 사용 된 매개 변수에 대한 설명입니다.

  • object lm () 함수를 사용하여 이미 생성 된 공식입니다.

  • newdata 예측 변수의 새 값을 포함하는 벡터입니다.

새로운 사람의 체중 예측

# The predictor vector.
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)

# The resposne vector.
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)

# Apply the lm() function.
relation <- lm(y~x)

# Find weight of a person with height 170.
a <- data.frame(x = 170)
result <-  predict(relation,a)
print(result)

위 코드를 실행하면 다음과 같은 결과가 생성됩니다.

1 
76.22869

회귀를 그래픽으로 시각화

# Create the predictor and response variable.
x <- c(151, 174, 138, 186, 128, 136, 179, 163, 152, 131)
y <- c(63, 81, 56, 91, 47, 57, 76, 72, 62, 48)
relation <- lm(y~x)

# Give the chart file a name.
png(file = "linearregression.png")

# Plot the chart.
plot(y,x,col = "blue",main = "Height & Weight Regression",
abline(lm(x~y)),cex = 1.3,pch = 16,xlab = "Weight in Kg",ylab = "Height in cm")

# Save the file.
dev.off()

위 코드를 실행하면 다음과 같은 결과가 생성됩니다.