Câu 1

Số liệu về tổng chi phí Y và sản lượng X được cho như trong bảng sau:Hãy vẽ biểu đồ phân tán, line graph của Y theo X và cho nhận xét. (2 điểm)

# Đảm bảo đã cài đặt thư viện ggplot2
# install.packages("ggplot2")
# Load thư viện
library(ggplot2)
# Dữ liệu mẫu (thay thế bằng dữ liệu thực từ bảng của bạn)
data <- data.frame(
  X = c( 1, 2, 3, 4, 5, 6, 7, 8, 9, 10),
  Y = c( 195, 225, 242, 245, 258, 260, 275, 298, 350, 425))
# Biểu đồ phân tán
scatter_plot <- ggplot(data, aes(x = X, y = Y)) +
  geom_point(color = "blue") +
  labs(title = "Biểu đồ Phân Tán của Y theo X",
       x = "Sản Lượng (X)",
       y = "Tổng Chi Phí (Y)")

# Biểu đồ line graph
line_plot <- ggplot(data, aes(x = X, y = Y)) +
  geom_line(color = "red") +
  labs(title = "Biểu đồ Line Graph của Y theo X",
       x = "Sản Lượng (X)",
       y = "Tổng Chi Phí (Y)")                         # Hiển thị biểu đồ
#print(scatter_line_plot)     

  ###Câu2
#### **Bảng số liệu sau đây là mẫu điều tra về doang thu Y, chi phí cho quảng cáo X1 và tiền lương X2 của 11 nhân viên tiếp thị đơn vị: triệu đồng:**
#### **a. Tính các giá trị thống kê mô tả: trung bình, trung vị, phương sai, độ lệch chuẩn vàsai số chuẩn cho biến doanh thu Y**. **(1.5 điểm)**
# Dữ liệu mẫu
doanh_thu <- c(102,140,127,128,139,138,144,159,161,163,180)
quang_cao <- c(15, 25, 18, 16, 17, 15, 23, 22, 25, 24, 26)
luong <- c(7, 11, 10, 12, 12, 15, 12, 14, 14, 16, 17)
# Tính các giá trị thống kê mô tả cho biến doanh thu Y
trung_binh_Y <- mean(doanh_thu)
trung_vi_Y <- median(doanh_thu)
phuong_sai_Y <- var(doanh_thu)
do_lech_chuan_Y <- sd(doanh_thu)
sai_so_chuan_Y <- do_lech_chuan_Y / sqrt(length(doanh_thu))
# Hiển thị kết quả
cat("Trung bình doanh thu Y:", trung_binh_Y, "triệu đồng\n")
## Trung bình doanh thu Y: 143.7273 triệu đồng
cat("Trung vị doanh thu Y:", trung_vi_Y, "triệu đồng\n")
## Trung vị doanh thu Y: 140 triệu đồng
cat("Phương sai doanh thu Y:", phuong_sai_Y, "triệu đồng\n")
## Phương sai doanh thu Y: 455.6182 triệu đồng
cat("Độ lệch chuẩn doanh thu Y:", do_lech_chuan_Y, "triệu đồng\n")
## Độ lệch chuẩn doanh thu Y: 21.34521 triệu đồng
cat("Sai số chuẩn doanh thu Y:", sai_so_chuan_Y, "triệu đồng\n")
## Sai số chuẩn doanh thu Y: 6.435824 triệu đồng
### **b. Thiết lập hồi quy ước lượng cho mô hình (hồi quy đa biến) Y = α + β1X1 + β1X2 +U. Giải thích kết quả của mô hình hồi quy** **(2 điểm)**
# Dữ liệu mẫu
doanh_thu <- c(102,140,127,128,139,138,144,159,161,163,180)
quang_cao <- c(15, 25, 18, 16, 17, 15, 23, 22, 25, 24, 26)
luong <- c(7, 11, 10, 12, 12, 15, 12, 14, 14, 16, 17)
# Tạo dataframe từ dữ liệu
data <- data.frame(Y = doanh_thu, X1 = quang_cao, X2 = luong)

# Hồi quy đa biến
model <- lm(Y ~ X1 + X2, data = data)

# In kết quả hồi quy
summary(model)
## 
## Call:
## lm(formula = Y ~ X1 + X2, data = data)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -4.8931 -3.3811 -0.9586  2.7203  6.6920 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  35.0659     7.8082   4.491 0.002026 ** 
## X1            2.1970     0.3907   5.624 0.000496 ***
## X2            4.9911     0.5952   8.386 3.11e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 4.621 on 8 degrees of freedom
## Multiple R-squared:  0.9625, Adjusted R-squared:  0.9531 
## F-statistic: 102.7 on 2 and 8 DF,  p-value: 1.976e-06
### **c. Dựa vào mẫu, hãy kiểm định giả thuyết về sự phù hợp của mô hình hồi quy trên (ởcâu b.)** ***(2 điểm)***
# Mô hình tuyến tính với một biến độc lập
model_single <- lm(Y ~ X1, data = data)

# Kiểm định Anova
anova_result <- anova(model_single, model)

# In kết quả kiểm định Anova
print(anova_result)
## Analysis of Variance Table
## 
## Model 1: Y ~ X1
## Model 2: Y ~ X1 + X2
##   Res.Df     RSS Df Sum of Sq      F    Pr(>F)    
## 1      9 1672.35                                  
## 2      8  170.82  1    1501.5 70.323 3.106e-05 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
### **d. Dùng mô hình ước lượng ở câu b. để dự báo cho doanh thu Y ứng với số liệu ngàysinh và tháng sinh của sinh viên. Cụ thể như bảng sau**: ***(1.5 điểm)***
# Số liệu ngày sinh và tháng sinh của sinh viên
ngay_sinh <- c(21,06, 15)
thang_sinh <- c(8, 9, 11)
# Tạo dataframe từ dữ liệu mới
new_data <- data.frame(X1 = ngay_sinh, X2 = thang_sinh)

# Dự báo doanh thu Y ứng với dữ liệu mới
predicted_values <- predict(model, newdata = new_data)

# Hiển thị kết quả dự báo
result <- data.frame(Ngay_Sinh = ngay_sinh, Thang_Sinh = thang_sinh, Doanh_Thu_Predicted = predicted_values)
print(result)
##   Ngay_Sinh Thang_Sinh Doanh_Thu_Predicted
## 1        21          8           121.13184
## 2         6          9            93.16751
## 3        15         11           122.92285