Thực hiện xây dựng mô hình hồi quy tuyến tính đa biến dự báo cho sức bền kéo với:
tension_strenghtlayer_height,
wall_thickness, infill_density,
infill_pattern, nozzle_temperature,
bed_temperature, print_speed,
materialMô hình được định nghĩa như sau:
\[\text{tension\_strenght} = \beta_0 + \beta_1 \cdot \text{layer\_height} + \beta_2 \cdot \text{wall\_thickness} + \ldots + \beta_8 \cdot \text{material} + \varepsilon\]
Thực hiện ước lượng các hệ số \(\beta_i\):
model_1 <- lm(tension_strenght ~ layer_height + wall_thickness + infill_density +
infill_pattern + nozzle_temperature + bed_temperature + print_speed +
material, data = new_DF)
summary(model_1)
##
## Call:
## lm(formula = tension_strenght ~ layer_height + wall_thickness +
## infill_density + infill_pattern + nozzle_temperature + bed_temperature +
## print_speed + material, data = new_DF)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.4101 -3.8491 0.0338 3.9073 13.5086
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 171.62809 54.21779 3.166 0.00292 **
## layer_height 55.59721 12.78771 4.348 8.87e-05 ***
## wall_thickness 1.06871 0.31942 3.346 0.00176 **
## infill_density 0.16286 0.03415 4.769 2.35e-05 ***
## infill_patternhoneycomb -1.14271 1.64581 -0.694 0.49140
## nozzle_temperature -1.04681 0.36901 -2.837 0.00705 **
## bed_temperature 1.00534 0.47426 2.120 0.04012 *
## print_speed -0.01559 0.03006 -0.519 0.60679
## materialpla -17.30508 8.51530 -2.032 0.04864 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.58 on 41 degrees of freedom
## Multiple R-squared: 0.673, Adjusted R-squared: 0.6092
## F-statistic: 10.55 on 8 and 41 DF, p-value: 6.91e-08
Nhận xét:
- Các biếnlayer_height,wall_thickness,infill_density,nozzle_temperature,bed_temperature,materialcó p-value < 5% → bác bỏ H₀ → các biến này có ý nghĩa trong mô hình.
- Các biếninfill_pattern,print_speedcó p-value > 5% → chưa đủ cơ sở bác bỏ H₀ → loại khỏi mô hình.
- p-value của thống kê F = 6.91e-08 < 5% → mô hình có ý nghĩa tổng thể.
- R² hiệu chỉnh = 0.6092, tức 60.92% sự biến thiên của sức bền kéo được giải thích bởi các biến độc lập.
Loại bỏ infill_pattern và print_speed từ Mô
hình 1:
model_2 <- lm(tension_strenght ~ layer_height + wall_thickness + infill_density +
nozzle_temperature + bed_temperature + material, data = new_DF)
summary(model_2)
##
## Call:
## lm(formula = tension_strenght ~ layer_height + wall_thickness +
## infill_density + nozzle_temperature + bed_temperature + material,
## data = new_DF)
##
## Residuals:
## Min 1Q Median 3Q Max
## -9.4717 -4.1695 0.0914 3.8586 13.9581
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 167.02463 53.19880 3.140 0.003055 **
## layer_height 56.36695 12.44845 4.528 4.67e-05 ***
## wall_thickness 1.11169 0.28024 3.967 0.000271 ***
## infill_density 0.16643 0.03339 4.985 1.06e-05 ***
## nozzle_temperature -1.02890 0.36321 -2.833 0.006996 **
## bed_temperature 0.98346 0.46685 2.107 0.041026 *
## materialpla -17.10365 8.39202 -2.038 0.047722 *
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.501 on 43 degrees of freedom
## Multiple R-squared: 0.6667, Adjusted R-squared: 0.6201
## F-statistic: 14.33 on 6 and 43 DF, p-value: 6.783e-09
Nhận xét:
- R² hiệu chỉnh = 0.6201 > 0.6092 (Mô hình 1) → loại biến không có ý nghĩa giúp tăng hiệu quả mô hình.
- 62.01% sự biến thiên của sức bền kéo được giải thích bởi các biến trong mô hình.
- Mô hình ước lượng: \(\widehat{\text{tension\_strenght}} = 167.02463 - 56.36695 \cdot \text{layer\_height} + \ldots - 17.10365 \cdot \text{material}_{\text{pla}}\)
Các giả định cần kiểm tra:
par(mfrow = c(2, 2))
plot(model_2, col = "steelblue", pch = 20)
par(mfrow = c(1, 1))
Nhận xét từ đồ thị:
- Residuals vs Fitted: Đường màu đỏ chưa nằm sát y = 0 → giả định kỳ vọng sai số bằng 0 chưa thoả mãn hoàn toàn.
- Normal Q-Q: Các quan trắc nằm sát đường chuẩn → giả định phân phối chuẩn thoả mãn.
- Scale-Location: Đường đỏ gấp khúc, quan trắc không phân tán ngẫu nhiên → giả định phương sai hằng số bị vi phạm.
- Residuals vs Leverage: Các quan trắc 3, 11, 40 có ảnh hưởng cao nhưng không vượt Cook’s distance → không phải ngoại lai, không cần loại bỏ.
\[H_0: \text{Sai số có phân phối chuẩn} \qquad H_1: \text{Sai số không có phân phối chuẩn}\]
shapiro.test(model_2$residuals)
##
## Shapiro-Wilk normality test
##
## data: model_2$residuals
## W = 0.97458, p-value = 0.3517
p-value = 0.3517 > 5% → Chưa đủ cơ sở bác bỏ H₀ → Sai số có phân phối chuẩn ✅
\[H_0: \mu_\varepsilon = 0 \qquad H_1: \mu_\varepsilon \neq 0\]
t.test(model_2$residuals)
##
## One Sample t-test
##
## data: model_2$residuals
## t = -7.5559e-16, df = 49, p-value = 1
## alternative hypothesis: true mean is not equal to 0
## 95 percent confidence interval:
## -1.464546 1.464546
## sample estimates:
## mean of x
## -5.506598e-16
p-value = 1 > 5% → Chưa đủ cơ sở bác bỏ H₀ → Sai số có kỳ vọng bằng 0 ✅
\[H_0: \text{Phương sai các sai số đồng nhất} \qquad H_1: \text{Phương sai các sai số không đồng nhất}\]
library(lmtest)
bptest(model_2)
##
## studentized Breusch-Pagan test
##
## data: model_2
## BP = 6.6773, df = 6, p-value = 0.3517
p-value = 0.3517 > 5% → Chưa đủ cơ sở bác bỏ H₀ → Phương sai các sai số đồng nhất ✅
\[H_0: \text{Không có tương quan giữa các sai số} \qquad H_1: \text{Có tương quan giữa các sai số}\]
dwtest(model_2)
##
## Durbin-Watson test
##
## data: model_2
## DW = 1.5005, p-value = 0.01575
## alternative hypothesis: true autocorrelation is greater than 0
p-value = 0.01575 < 5% → Bác bỏ H₀ → Có tương quan giữa các sai số, giả định độc lập không thoả mãn ❌
| Kiểm.định | Mục.đích | p.value | Kết.luận |
|---|---|---|---|
| Shapiro-Wilk | Phân phối chuẩn | 0.3517 | Thoả mãn ✅ |
| t-test | Kỳ vọng = 0 | 1 | Thoả mãn ✅ |
| Breusch-Pagan | Phương sai đồng nhất | 0.3517 | Thoả mãn ✅ |
| Durbin-Watson | Sai số độc lập | 0.01575 | Vi phạm ❌ |