insurance_data <- read.csv("~/Downloads/insurance.csv")
model <- lm(charges ~ age + sex + bmi + children + smoker + region, data = insurance_data)
summary(model)
##
## Call:
## lm(formula = charges ~ age + sex + bmi + children + smoker +
## region, data = insurance_data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -11304.9 -2848.1 -982.1 1393.9 29992.8
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -11938.5 987.8 -12.086 < 2e-16 ***
## age 256.9 11.9 21.587 < 2e-16 ***
## sexmale -131.3 332.9 -0.394 0.693348
## bmi 339.2 28.6 11.860 < 2e-16 ***
## children 475.5 137.8 3.451 0.000577 ***
## smokeryes 23848.5 413.1 57.723 < 2e-16 ***
## regionnorthwest -353.0 476.3 -0.741 0.458769
## regionsoutheast -1035.0 478.7 -2.162 0.030782 *
## regionsouthwest -960.0 477.9 -2.009 0.044765 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 6062 on 1329 degrees of freedom
## Multiple R-squared: 0.7509, Adjusted R-squared: 0.7494
## F-statistic: 500.8 on 8 and 1329 DF, p-value: < 2.2e-16
plot(model, which = 1)
plot(model, which = 3)
hist(resid(model), breaks = 10, main = "Histogram of Residuals")
qqnorm(resid(model))
qqline(resid(model))
## The linear regression model is appropriate to this dataset. because
of a low p-values (p < 0.05). The model shows approximately 75.09% of
the variance in charges,