This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see http://rmarkdown.rstudio.com.
When you click the Knit button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:
data <- read.csv("C:/Users/WINDOWS/Downloads/semester 6/komputasi lanjut/before uts/advertising.csv")
summary(data)
## TV Radio Newspaper Sales
## Min. : 0.70 Min. : 0.000 Min. : 0.30 Min. : 1.60
## 1st Qu.: 74.38 1st Qu.: 9.975 1st Qu.: 12.75 1st Qu.:11.00
## Median :149.75 Median :22.900 Median : 25.75 Median :16.00
## Mean :147.04 Mean :23.264 Mean : 30.55 Mean :15.13
## 3rd Qu.:218.82 3rd Qu.:36.525 3rd Qu.: 45.10 3rd Qu.:19.05
## Max. :296.40 Max. :49.600 Max. :114.00 Max. :27.00
Rata-rata biaya iklan TV: 147.04
Rata-rata biaya iklan Radio: 23.26
Rata-rata biaya iklan Koran (Newspaper): 30.55
Rata-rata Penjualan (Sales): 15.13
Persamaan model regresi: \[ y=\beta_0 +\beta_1X_1+ \beta_2 X_2 + \beta_3 X_3+ \epsilon \] Dimana: (Y) = Sales (X1) = TV (X2) = Radio (X3) = Newspaper
model <- lm(Sales ~ TV + Radio + Newspaper, data=data)
summary(model)
##
## Call:
## lm(formula = Sales ~ TV + Radio + Newspaper, data = data)
##
## Residuals:
## Min 1Q Median 3Q Max
## -7.3034 -0.8244 -0.0008 0.8976 3.7473
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.6251241 0.3075012 15.041 <2e-16 ***
## TV 0.0544458 0.0013752 39.592 <2e-16 ***
## Radio 0.1070012 0.0084896 12.604 <2e-16 ***
## Newspaper 0.0003357 0.0057881 0.058 0.954
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 1.662 on 196 degrees of freedom
## Multiple R-squared: 0.9026, Adjusted R-squared: 0.9011
## F-statistic: 605.4 on 3 and 196 DF, p-value: < 2.2e-16
Y = 4.625 + 0.054 TV + 0.107 Radio + 0 Newspaper
Nilai R-squared dari model adalah:
0.903
Artinya sebesar 90.26% variasi Sales dapat dijelaskan oleh variabel TV, Radio, dan Newspaper.
Uji F digunakan untuk mengetahui apakah variabel independen secara bersama-sama berpengaruh terhadap variabel dependen.
anova(model)
## Analysis of Variance Table
##
## Response: Sales
## Df Sum Sq Mean Sq F value Pr(>F)
## TV 1 4512.4 4512.4 1634.2115 <2e-16 ***
## Radio 1 502.3 502.3 181.9255 <2e-16 ***
## Newspaper 1 0.0 0.0 0.0034 0.9538
## Residuals 196 541.2 2.8
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Uji t digunakan untuk mengetahui pengaruh masing-masing variabel independen terhadap variabel dependen.
summary(model)$coefficients
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 4.6251240788 0.307501165 15.04099695 1.682677e-34
## TV 0.0544457803 0.001375188 39.59152448 1.892945e-95
## Radio 0.1070012282 0.008489563 12.60385655 4.602097e-27
## Newspaper 0.0003356579 0.005788056 0.05799148 9.538145e-01
error <- residuals(model)
ks.test(error,"pnorm",mean(error),sd(error))
##
## Asymptotic one-sample Kolmogorov-Smirnov test
##
## data: error
## D = 0.082313, p-value = 0.133
## alternative hypothesis: two-sided
Visualisasi normalitas:
qqnorm(error)
qqline(error, col="red")
library(lmtest)
## Warning: package 'lmtest' was built under R version 4.5.2
## Loading required package: zoo
## Warning: package 'zoo' was built under R version 4.5.2
##
## Attaching package: 'zoo'
## The following objects are masked from 'package:base':
##
## as.Date, as.Date.numeric
bptest(model)
##
## studentized Breusch-Pagan test
##
## data: model
## BP = 3.9785, df = 3, p-value = 0.2638
Visualisasi residual:
plot(model$fitted.values, residuals(model),
xlab="Nilai Prediksi",
ylab="Residual",
main="Plot Residual")
abline(h=0, col="red")
dwtest(model)
##
## Durbin-Watson test
##
## data: model
## DW = 2.2506, p-value = 0.9625
## alternative hypothesis: true autocorrelation is greater than 0
plot(data$TV, data$Sales,
main="Hubungan Iklan TV dan Sales",
xlab="TV Advertising",
ylab="Sales",
pch=19)
abline(lm(Sales ~ TV, data=data), col="red")
plot(data$Radio, data$Sales,
main="Hubungan Iklan Radio dan Sales",
xlab="Radio Advertising",
ylab="Sales",
pch=19)
abline(lm(Sales ~ Radio, data=data), col="blue")
plot(data$Newspaper, data$Sales,
main="Hubungan Iklan Newspaper dan Sales",
xlab="Newspaper Advertising",
ylab="Sales",
pch=19)
abline(lm(Sales ~ Newspaper, data=data), col="green")
par(mfrow=c(2,2))
plot(model)