1 Xây Dựng Mô Hình Hồi Quy Tuyến Tính Đa Biến

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:

  • Biến phụ thuộc: tension_strenght
  • Biến độc lập: layer_height, wall_thickness, infill_density, infill_pattern, nozzle_temperature, bed_temperature, print_speed, material

Mô 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\]

1.1 Mô Hình 1 — Đầy Đủ Biến

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ến layer_height, wall_thickness, infill_density, nozzle_temperature, bed_temperature, material có p-value < 5% → bác bỏ H₀ → các biến này có ý nghĩa trong mô hình.
- Các biến infill_pattern, print_speed có 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.


1.2 Mô Hình 2 — Loại Bỏ Biến Không Có Ý Nghĩa

Loại bỏ infill_patternprint_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}}\)


2 Kiểm Tra Các Giả Định Của Mô Hình Hồi Quy

Các giả định cần kiểm tra:

  • Sai số có phân phối chuẩn
  • Sai số có kỳ vọng bằng 0
  • Phương sai của các sai số là hằng số (homoscedasticity)
  • Các sai số độc lập với nhau

2.1 Đồ Thị Kiểm Tra Giả Định

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ỏ.

2.2 Kiểm Định Phân Phối Chuẩn Của Sai Số (Shapiro-Wilk)

\[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 ✅


2.3 Kiểm Định Kỳ Vọng Sai Số Bằng 0 (t-test)

\[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 ✅


2.4 Kiểm Định Phương Sai Đồng Nhất (Breusch-Pagan)

\[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 ✅


2.5 Kiểm Định Độc Lập Của Sai Số (Durbin-Watson)

\[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


3 Tổng Hợp Kết Quả Kiểm Định

Bảng tổng hợp kiểm định các giả định — Mô hình 2
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 ❌