Lindsey, Herzberg dan Watts (1987) memberikan data lebar ruas pertama tarsus kedua untuk dua spesies serangga Chaetocnema. Apakah ini menunjukkan perbedaan populasi antara distribusi lebar untuk kedua spesies?
Untuk kelompok tujuh siswa, denyut nadi (per menit) diukur sebelum latihan (I), segera setelah latihan (II), dan 5 menit setelah latihan (III). Data diberikan pada di bawah. Gunakan uji Friedman untuk menguji perbedaan antara denyut nadi pada tiga kesempatan.
Tujuan: Akan dilakukan pengujian Friedman untuk mengetahui apakah terdapat perbedaan denyut nadi per menit pada sebelum latihan, setelah latihan, dan 5 menit setelah latihan untuk kelompok 7 siswa tersebut
Hipotesis:
\(H_0:\) All treatments have identical effects
\(H_1:\) At least one treatment yield larger observed values than at least one other treatment
dapat digunakan fungsi friedman.test() dari library stats
Pairwise comparisons using Quade's test with TDist approximation
data: Dataset_Friedmann$Score, Dataset_Friedmann$Time and Dataset_Friedmann$Student
1 2
2 0.0026 -
3 0.2922 0.0094
P value adjustment method: fdr
Hasil menunjukkan pasangan grup yang berbeda (atau tidak berbeda) secara signifikan
Uji Kruskal Wallis
Lubischew (1962) memberikan pengukuran lebar kepala maksimum dalam satuan 0,01 mm untuk tiga spesies Chaetocnema. Sebagian dari datanya diberikan di bawah ini. Gunakan uji Kruskal–Wallis untuk melihat apakah ada perbedaan lebar kepala untuk ketiga spesies Chaetocnema.
\(H_0:\) All k population distribution functions are identical
\(H_1:\) At least one population yield larger observed values than at least one other population
Atau alternatif \(H_1\) lainnya
\(H_1:\) The k populations do not all have identical means
dapat digunakan fungsi kruskal.test() dari library stats
kruskal.test(lebar ~ Species, data = df)
Kruskal-Wallis rank sum test
data: lebar by Species
Kruskal-Wallis chi-squared = 4.436, df = 2, p-value = 0.1088
Kesimpulannya
Correlation
Bardsley dan Chambers (1984) memiliki jumlah sapi ternak (potong) dan domba pada 19 peternakan besar di suatu wilayah. Apakah ada bukti korelasi antara sapi dan domba?
Uji korelasi Spearman’s \(\rho\) dapat dilakukan dengan fungsi cor.test() dari library stats dengan method "spearman"
cor.test(df$Cattle, df$sheep, method="spearman")
Warning in cor.test.default(df$Cattle, df$sheep, method = "spearman"): Cannot
compute exact p-value with ties
Spearman's rank correlation rho
data: df$Cattle and df$sheep
S = 1517.3, p-value = 0.1663
alternative hypothesis: true rho is not equal to 0
sample estimates:
rho
-0.3309864
Kendall’s \(\tau\)
Uji korelasi Kendall’s \(\tau\) dapat dilakukan dengan fungsi cor.test() dari library stats dengan method "kendall"
cor.test(df$Cattle, df$sheep, method="kendall")
Warning in cor.test.default(df$Cattle, df$sheep, method = "kendall"): Cannot
compute exact p-value with ties
Kendall's rank correlation tau
data: df$Cattle and df$sheep
z = -1.3786, p-value = 0.168
alternative hypothesis: true tau is not equal to 0
sample estimates:
tau
-0.2350464
Regresi Nonparametrik
A driver kept track of the number of miles she traveled and the number of gallons put in the tank each time she bought gasoline.
Call:
lm(formula = Miles ~ Gallons, data = df)
Residuals:
Min 1Q Median 3Q Max
-22.73 -16.26 -7.68 20.46 30.59
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) 8.692 19.155 0.454 0.662
Gallons 13.605 1.585 8.582 2.63e-05 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
Residual standard error: 22.6 on 8 degrees of freedom
Multiple R-squared: 0.902, Adjusted R-squared: 0.8898
F-statistic: 73.64 on 1 and 8 DF, p-value: 2.626e-05
C. Plot the least squares regression line on the diagram of part A
plot(Gallons, Miles, xlab ="Gallons", ylab ="Miles", main ="Gallons x Miles", lwd =2)abline(reg = model1, col ="blue")
D. Suppose the EPA estimated this car’s mileage at 18 miles per gallon. Test the null hypothesis that this figure applies to this particular car and driver. (Use the test for slope)
\(H_0:\) Jarak tempuh mobil (\(\beta\)) adalah 18 mil/galon
\(H_1:\) Jarak tempuh mobil (\(\beta\)) bukan 18 mil/galon
# Median slope (Theil-Sen estimator)median_slope <-median(slopes)
Pada metode kalkulasi confidence interval di atas dapat digunakan untuk membentuk suatu estimasi persamaan regresi nonparametrik dengan median Y dan X sebagai estimator intercept dan \(\beta\) secara berturut-turut.
Regresi Monotonik
Metode regresi linier nonparametrik dapat digunakan ketika asumsi regresi linier dapat dipenuhi. Dalam situasi dimana tidak dapat diasumsikan bahwa garis regresi adalah linier tapi dapat diasumsikan bahwa E(Y|X) naik (minimal tidak turun) dengan meningkatnya X. Dalam hal ini dinamakan regresinya naik secara monoton.
Xi
Yi
0.0
30
0.5
30
1.0
30
1.8
28
2.2
24
2.7
19
4.0
17
4.0
9
4.9
12
5.6
12
6.0
6
6.5
8
7.3
4
8.0
5
8.8
6
9.3
4
9.8
6
# Data extracted from the tabledata <-data.frame(Xi =c(0, 0.5, 1.0, 1.8, 2.2, 2.7, 4.0, 4.0, 4.9, 5.6, 6.0, 6.5, 7.3, 8.0, 8.8, 9.3, 9.8),Yi =c(30, 30, 30, 28, 24, 19, 17, 9, 12, 12, 6, 8, 4, 5, 6, 4, 6))data$R_Xi <-rank(data$Xi, ties.method ="average")data$R_Yi <-rank(data$Yi, ties.method ="average")n <-nrow(data)mean_R_Xi <-mean(data$R_Xi)mean_R_Yi <-mean(data$R_Yi)# Calculate b2 (slope)b2 <-sum((data$R_Xi - mean_R_Xi) * (data$R_Yi - mean_R_Yi)) /sum((data$R_Xi - mean_R_Xi)^2)# Calculate a2 (intercept)a2 <- mean_R_Yi - b2 * mean_R_Xi# Estimate R(Y) for Given R(X)data$Rhat_Yi <- a2 + b2 * data$R_Xi# Convert Rhat_Y back to Yinterpolate_Y <-function(R_hat_Y, Yi, R_Yi) {if (R_hat_Y %in% R_Yi) {return(Yi[which(R_Yi == R_hat_Y)]) # Return the Yi if the rank is equal } elseif (R_hat_Y <min(R_Yi)) {return(min(Yi)) # Return the largest Yi if the rank is less than the minimum } elseif (R_hat_Y >max(R_Yi)) {return(max(Yi)) # Return the largest Yi if the rank is greater than the maximum } else {# Find the nearest ranks for interpolation lower <-max(R_Yi[which(R_Yi < R_hat_Y)]) upper <-min(R_Yi[which(R_Yi > R_hat_Y)]) Y_lower <- Yi[which(R_Yi == lower)] Y_lower <- Y_lower[1] Y_upper <- Yi[which(R_Yi == upper)] Y_upper <- Y_upper[1] R_lower <- lower R_upper <- upper# Linear interpolationreturn(Y_lower + (R_hat_Y - R_lower) / (R_upper - R_lower) * (Y_upper - Y_lower)) }}data$Yhat_i <-sapply(data$Rhat_Yi, interpolate_Y, Yi = data$Yi, R_Yi = data$R_Yi)data$Rhat_Xi <- (data$R_Yi - a2)/b2interpolate_X <-function(R_hat_X, X, R_X) {if (R_hat_X <=min(R_X)) {return(NULL) }if (R_hat_X >=max(R_X)) {return(NULL) }# Find the nearest ranks for interpolation lower <-max(which(R_X <= R_hat_X)) upper <-min(which(R_X > R_hat_X)) X_lower <- X[lower] X_upper <- X[upper] R_lower <- R_X[lower] R_upper <- R_X[upper]# Linear interpolationreturn(X_lower + (R_hat_X - R_lower) / (R_upper - R_lower) * (X_upper - X_lower))}data$Xhat_i <-sapply(data$Rhat_Xi, function(R_hat) interpolate_X(R_hat, data$Xi, data$R_Xi))data