Dữ liệu về tai nạn giao thông tại Hoa Kỳ được thu thập từ nhiều nguồn giám sát giao thông tự động và công cộng, được tổng hợp bởi nhóm nghiên cứu thuộc Đại học Ohio State và công bố công khai thông qua hai kênh chính:
API và Sensor Networks: Thu thập dữ liệu từ các cảm biến giao thông, camera giám sát, ứng dụng bản đồ và hệ thống thông tin giao thông tại 49 tiểu bang của Hoa Kỳ.
US Department of Transportation & State DOTs: Cung cấp dữ liệu công khai về điều kiện thời tiết, vị trí và mức độ nghiêm trọng của các vụ tai nạn.
Dữ liệu từ các nguồn trên được tổng hợp và làm sạch bởi tác giả Sobhan Moosavi, sau đó đăng tải trên Kaggle.
## Số dòng: 500001
## Số cột: 12
## Rows: 500,001
## Columns: 12
## $ Severity <dbl> 3, 2, 2, 3, 2, 3, 2, 3, 2, 3, 3, 3, 2, 2, 2, 2, 2, 2…
## $ Start_Lat <dbl> 39.86515, 39.92806, 39.06315, 39.74775, 39.62778, 40…
## $ Start_Lng <dbl> -84.05872, -82.83118, -84.03261, -84.20558, -84.1883…
## $ City <chr> "Dayton", "Reynoldsburg", "Williamsburg", "Dayton", …
## $ State <chr> "OH", "OH", "OH", "OH", "OH", "OH", "OH", "OH", "OH"…
## $ `Temperature(F)` <dbl> 36.9, 37.9, 36.0, 35.1, 36.0, 37.9, 34.0, 34.0, 33.3…
## $ `Humidity(%)` <dbl> 91, 100, 100, 96, 89, 97, 100, 100, 99, 100, 93, 100…
## $ `Pressure(in)` <dbl> 29.68, 29.65, 29.67, 29.64, 29.65, 29.63, 29.66, 29.…
## $ `Visibility(mi)` <dbl> 10, 10, 10, 9, 6, 7, 7, 7, 5, 3, 5, 3, 3, 10, 3, 3, …
## $ Wind_Direction <chr> "Calm", "Calm", "SW", "SW", "SW", "SSW", "WSW", "WSW…
## $ `Wind_Speed(mph)` <dbl> 4.6, 1.2, 3.5, 4.6, 3.5, 3.5, 3.5, 3.5, 1.2, 4.6, 5.…
## $ Weather_Condition <chr> "Light Rain", "Light Rain", "Overcast", "Mostly Clou…
Sau khi nạp thành công bộ dữ liệu d.xlsx, kết quả kiểm tra cấu trúc bằng hàm glimpse(d) cho thấy:
Số dòng (quan sát): 500.001
Số cột (biến): 12
Điều này có nghĩa là bộ dữ liệu bao gồm 500.001 bản ghi về các vụ tai nạn giao thông tại Hoa Kỳ, mỗi bản ghi lưu trữ 12 biến, chứa thông tin về các vụ tai nạn giao thông tại Hoa Kỳ.
Biến định lượng:Severity, Temperature, Humidity, Pressure, Visibility, Wind_Speed Biến định tính:City, State, Wind_Direction, Weather_Condition Bộ dữ liệu: Tai nạn giao thông tại Hoa Kỳ (US Accidents 2016 – 2023) bao gồm:
Tên: US Accidents – A Countrywide Traffic Accident Dataset
Mục đích: Phân tích các yếu tố ảnh hưởng đến mức độ nghiêm trọng của tai nạn giao thông trên toàn nước Mỹ.
Thời gian thu thập: Từ tháng 2 năm 2016 đến tháng 3 năm 2023
Quy mô: Khoảng 7,7 triệu bản ghi (phiên bản đầy đủ), bao phủ 49 tiểu bang
Tần suất thu thập: Liên tục từ các nguồn API giao thông và thời tiết công cộng
Địa điểm: Gồm 49 tiểu bang
Các cột dữ liệu chính:
– Severity: Mức độ nghiêm trọng của tai nạn (1 = nhẹ → 4 = nặng)
– City, State: Thành phố và tiểu bang xảy ra tai nạn
– Start_Lat, Start_Lng: Vĩ độ và kinh độ vị trí tai nạn
– Temperature(F), Humidity(%), Pressure(in): Điều kiện thời tiết
– Visibility(mi), Wind_Direction, Wind_Speed(mph): Tầm nhìn và hướng/tốc độ gió
– Weather_Condition: Mô tả tổng quát điều kiện thời tiết tại thời điểm xảy ra tai nạn
## tibble [500,001 × 12] (S3: tbl_df/tbl/data.frame)
## $ Severity : num [1:500001] 3 2 2 3 2 3 2 3 2 3 ...
## $ Start_Lat : num [1:500001] 39.9 39.9 39.1 39.7 39.6 ...
## $ Start_Lng : num [1:500001] -84.1 -82.8 -84 -84.2 -84.2 ...
## $ City : chr [1:500001] "Dayton" "Reynoldsburg" "Williamsburg" "Dayton" ...
## $ State : chr [1:500001] "OH" "OH" "OH" "OH" ...
## $ Temperature(F) : num [1:500001] 36.9 37.9 36 35.1 36 37.9 34 34 33.3 37.4 ...
## $ Humidity(%) : num [1:500001] 91 100 100 96 89 97 100 100 99 100 ...
## $ Pressure(in) : num [1:500001] 29.7 29.6 29.7 29.6 29.6 ...
## $ Visibility(mi) : num [1:500001] 10 10 10 9 6 7 7 7 5 3 ...
## $ Wind_Direction : chr [1:500001] "Calm" "Calm" "SW" "SW" ...
## $ Wind_Speed(mph) : num [1:500001] 4.6 1.2 3.5 4.6 3.5 3.5 3.5 3.5 1.2 4.6 ...
## $ Weather_Condition: chr [1:500001] "Light Rain" "Light Rain" "Overcast" "Mostly Cloudy" ...
Bộ dữ liệu có 500.001 quan sát và 12 biến.
Biến định lượng (num): Gồm có Severity, Start_Lat, Start_Lng, Temperature(F), Humidity(%), Pressure(in), Visibility(mi), Wind_Speed(mph).
Biến định tính (chr): Gồm có City, State, Wind_Direction, Weather_Condition.
Về mặt thống kê Tập dữ liệu có quy mô lớn, thích hợp cho các phân tích mô tả và hồi quy. Các biến định lượng có thể dùng để tính trung bình, độ lệch chuẩn, phương sai, trong khi biến định tính giúp phân tích tần suất, tỷ lệ và phân bố theo khu vực hoặc thời tiết. Dữ liệu đủ chi tiết để nghiên cứu mối quan hệ giữa điều kiện thời tiết và mức độ nghiêm trọng của tai nạn.
Về mặt kinh tế – xã hội Dữ liệu giúp đánh giá chi phí và rủi ro kinh tế do tai nạn giao thông, hỗ trợ cơ quan quản lý trong hoạch định chính sách an toàn, quy hoạch hạ tầng, và cảnh báo rủi ro thời tiết. Ngoài ra, các yếu tố như Severity, City, và Weather_Condition còn có thể ứng dụng trong định giá bảo hiểm và dự báo thiệt hại kinh tế. Nhìn chung, cấu trúc dữ liệu đầy đủ, phù hợp để thực hiện các bước xử lý, phân tổ và phân tích thống kê tiếp theo.
variable_meaning <- data.frame(
Variable = c("Severity","Start_Lat","Start_Lng","City","State",
"Temperature(F)","Humidity(%)","Pressure(in)",
"Visibility(mi)","Wind_Direction","Wind_Speed(mph)","Weather_Condition"),
Meaning = c("Mức độ nghiêm trọng của vụ tai nạn (1 = nhẹ nhất, 4 = nghiêm trọng nhất)",
"Vĩ độ nơi bắt đầu vụ tai nạn",
"Kinh độ nơi bắt đầu vụ tai nạn",
"Thành phố nơi tai nạn được ghi nhận",
"Bang (State) nơi xảy ra tai nạn",
"Nhiệt độ (độ F) tại thời điểm tai nạn",
"Độ ẩm không khí (%) tại thời điểm tai nạn",
"Áp suất khí quyển (in)",
"Tầm nhìn của tài xế (mile)",
"Hướng gió tại thời điểm tai nạn",
"Tốc độ gió (mile/giờ)",
"Điều kiện thời tiết"),
stringsAsFactors = FALSE
)
data_types <- data.frame(
Variable = names(d),
DataType = sapply(d, class),
stringsAsFactors = FALSE
)
library(dplyr)
variable_summary <- left_join(variable_meaning, data_types, by = "Variable")
knitr::kable(variable_summary, caption = "Tên biến, ý nghĩa và kiểu dữ liệu")| Variable | Meaning | DataType |
|---|---|---|
| Severity | Mức độ nghiêm trọng của vụ tai nạn (1 = nhẹ nhất, 4 = nghiêm trọng nhất) | numeric |
| Start_Lat | Vĩ độ nơi bắt đầu vụ tai nạn | numeric |
| Start_Lng | Kinh độ nơi bắt đầu vụ tai nạn | numeric |
| City | Thành phố nơi tai nạn được ghi nhận | character |
| State | Bang (State) nơi xảy ra tai nạn | character |
| Temperature(F) | Nhiệt độ (độ F) tại thời điểm tai nạn | numeric |
| Humidity(%) | Độ ẩm không khí (%) tại thời điểm tai nạn | numeric |
| Pressure(in) | Áp suất khí quyển (in) | numeric |
| Visibility(mi) | Tầm nhìn của tài xế (mile) | numeric |
| Wind_Direction | Hướng gió tại thời điểm tai nạn | character |
| Wind_Speed(mph) | Tốc độ gió (mile/giờ) | numeric |
| Weather_Condition | Điều kiện thời tiết | character |
Bảng trên trình bày 12 biến trong bộ dữ liệu cùng ý nghĩa và kiểu dữ liệu tương ứng.
Các biến được chia thành hai nhóm chính:
Biến định lượng (numeric) như
Severity, Temperature(F),
Humidity(%), Pressure(in),
Visibility(mi), Wind_Speed(mph)…
Các biến này cho phép phân tích mức độ, xu hướng và mối quan
hệ giữa các yếu tố thời tiết và mức độ nghiêm trọng của tai nạn
giao thông.
Biến định tính (character) như
City, State, Wind_Direction,
Weather_Condition.
Chúng mô tả đặc điểm phân loại của vị trí và điều kiện
môi trường tại thời điểm xảy ra tai nạn.
Về mặt thống kê, việc xác định đúng kiểu dữ liệu giúp lựa chọn phương pháp phân tích phù hợp — ví dụ:
Biến định tính sử dụng thống kê tần suất và tỷ lệ.
Biến định lượng dùng để tính giá trị trung bình, phương sai, độ lệch chuẩn hoặc xây dựng mô hình hồi quy.
Về mặt kinh tế – xã hội, các biến trong bộ dữ liệu phản ánh các yếu tố tự nhiên và địa lý ảnh hưởng đến rủi ro tai nạn giao thông.
Từ đó có thể hỗ trợ phân tích chi phí xã hội do tai nạn, đánh giá tác động của thời tiết đến hạ tầng giao thông, và đề xuất chính sách an toàn hiệu quả hơn.
## Severity Start_Lat Start_Lng City
## 0 0 0 22
## State Temperature(F) Humidity(%) Pressure(in)
## 0 7237 7902 5730
## Visibility(mi) Wind_Direction Wind_Speed(mph) Weather_Condition
## 10530 4139 89030 10176
Kết quả kiểm tra giá trị khuyết cho thấy bộ dữ liệu có một số biến chứa nhiều giá trị bị thiếu (NA).
Biến City có một lượng nhỏ giá trị thiếu.
Tuy nhiên, các biến Temperature(F), Humidity(%), Pressure(in), Visibility(mi), Wind_Direction, Wind_Speed(mph), Weather_Condition có số lượng NA rất lớn lần lượt là 7237, 7902, 5730, 10530, 4139, 89030 và 10176 giá trị.
→ Điều này cho thấy bộ dữ liệu có thể thiếu dữ liệu trong một số ngày nhất định, có thể là do sự cố kết nối mạng, mất tính hiệu trong quá trình thu thập dữ liệu, từ hệ thống cảm biến.
→ Cần xử lý giá trị thiếu bằng cách xoá những dòng có NA trước khi tiến hành phân tích hoặc xây dựng mô hình thống kê.
## # A tibble: 405,354 × 12
## Severity Start_Lat Start_Lng City State `Temperature(F)` `Humidity(%)`
## <dbl> <dbl> <dbl> <chr> <chr> <dbl> <dbl>
## 1 3 39.9 -84.1 Dayton OH 36.9 91
## 2 2 39.9 -82.8 Reynoldsbu… OH 37.9 100
## 3 2 39.1 -84.0 Williamsbu… OH 36 100
## 4 3 39.7 -84.2 Dayton OH 35.1 96
## 5 2 39.6 -84.2 Dayton OH 36 89
## 6 3 40.1 -82.9 Westerville OH 37.9 97
## 7 2 39.8 -84.2 Dayton OH 34 100
## 8 3 39.8 -84.2 Dayton OH 34 100
## 9 2 39.8 -84.2 Dayton OH 33.3 99
## 10 3 40.1 -82.9 Westerville OH 37.4 100
## # ℹ 405,344 more rows
## # ℹ 5 more variables: `Pressure(in)` <dbl>, `Visibility(mi)` <dbl>,
## # Wind_Direction <chr>, `Wind_Speed(mph)` <dbl>, Weather_Condition <chr>
## [1] 2924
Sau khi loại bỏ các giá trị thiếu bằng hàm na.omit(), bộ dữ liệu vẫn đảm bảo số lượng quan sát lớn và đầy đủ cho phân tích. Tiếp theo, việc kiểm tra bằng hàm duplicated() cho thấy có 2.924 dòng dữ liệu bị trùng lặp.
## [1] 0
Sau khi sử dụng hàm distinct() để loại bỏ các dòng trùng lặp, kết quả kiểm tra với sum(duplicated(ds)) cho thấy không còn bất kỳ quan sát trùng nào trong dữ liệu (bằng 0).
Việc tồn tại các dòng trùng lặp có thể gây sai lệch trong phân tích tần suất, trung bình và hồi quy, làm giảm tính đại diện của mẫu. Do đó, các dòng này cần được loại bỏ để đảm bảo dữ liệu duy nhất (unique) và độ tin cậy cao. VVviệc xóa các quan sát trùng giúp dữ liệu trở nên chuẩn hóa và đại diện hơn, tránh việc một mẫu dữ liệu được tính nhiều lần gây sai lệch kết quả phân tích.
Về mặt kinh tế – thực tiễn, loại bỏ trùng lặp giúp tránh tính trùng các vụ tai nạn, đảm bảo mỗi quan sát phản ánh một sự kiện thực tế duy nhất, từ đó ước lượng chính xác hơn quy mô và thiệt hại kinh tế thực tế của tai nạn giao thông. Dữ liệu sạch sẽ hỗ trợ hiệu quả cho phân tích chính sách, dự báo rủi ro và hoạch định đầu tư hạ tầng giao thông.
windowsFonts(Times = windowsFont("Times New Roman"))
ggplot(ds, aes(x = factor(Severity), y = `Temperature(F)`)) +
geom_boxplot(fill = "skyblue", color = "black") +
labs(
x = "Mức độ nghiêm trọng (Severity)",
y = "Nhiệt độ (°F)",
title = "Phân bố nhiệt độ theo mức độ nghiêm trọng"
) +
theme_bw() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", family = "Times"),
axis.title = element_text(family = "Times")
)Nhận xét:
Về mặt thống kê:
Biểu đồ Boxplot thể hiện sự phân bố nhiệt độ (°F) theo từng mức độ nghiêm trọng của tai nạn giao thông (Severity).
Nhiệt độ trung bình nằm quanh mức 65–75°F, với trung vị tăng dần theo mức độ nghiêm trọng.
Cụ thể, Severity = 1, 2, 3 có trung vị khoảng 65°F, trong khi Severity = 4 có trung vị cao hơn, khoảng 75°F, cho thấy các vụ tai nạn nghiêm trọng có xu hướng xảy ra trong điều kiện thời tiết ấm hơn.
Ngoài ra, có nhiều giá trị ngoại lai (outliers) ở cả hai đầu cho thấy dữ liệu có sự biến động lớn và tồn tại những trường hợp hiếm gặp ở điều kiện thời tiết cực đoan (rất nóng hoặc rất lạnh).
Tổng thể, sự khác biệt giữa các nhóm chưa quá rõ rệt, nhưng vẫn thể hiện một mối quan hệ tiềm ẩn giữa nhiệt độ và mức độ nghiêm trọng của tai nạn.Về mặt kinh tế – xã hội:
Kết quả gợi ý rằng điều kiện thời tiết ấm hoặc nóng có thể làm tăng nguy cơ xảy ra các vụ tai nạn nghiêm trọng hơn.
Nguyên nhân có thể do tác động sinh lý (nhiệt độ cao khiến tài xế dễ mất tập trung, mệt mỏi) hoặc tác động kỹ thuật (hiệu suất phương tiện giảm khi thời tiết nóng, ảnh hưởng đến phanh hoặc lốp xe).
Vì vậy, các cơ quan giao thông và bảo hiểm có thể tăng cường cảnh báo và giám sát an toàn trong giai đoạn nhiệt độ cao, đặc biệt ở các khu vực đô thị đông đúc.
Ngoài ra, doanh nghiệp bảo hiểm và cơ quan quản lý có thể cân nhắc đưa yếu tố thời tiết vào mô hình dự báo rủi ro, giúp giảm thiểu thiệt hại kinh tế và xã hội do tai nạn gây ra.
windowsFonts(Times = windowsFont("Times New Roman"))
ggplot(ds, aes(x = factor(Severity), y = `Visibility(mi)`)) +
geom_boxplot(fill = "skyblue", color = "black") +
labs(
x = "Mức độ nghiêm trọng (Severity)",
y = "Tầm nhìn (mile)",
title = "Phân bố tầm nhìn theo mức độ nghiêm trọng"
) +
theme_bw() +
theme(
plot.title = element_text(hjust = 0.5, face = "bold", family = "Times New Roman"),
axis.title = element_text(family = "Times New Roman")
)Nhận xét:
Về mặt thống kê:
Biểu đồ Boxplot thể hiện sự phân bố của biến Tầm nhìn (Visibility) theo các mức độ nghiêm trọng của tai nạn (Severity).
Dễ nhận thấy rằng giá trị trung vị của tầm nhìn trong tất cả các nhóm đều nằm ở khoảng 8–10 dặm, cho thấy phần lớn các vụ tai nạn xảy ra trong điều kiện tầm nhìn tương đối tốt.
Tuy nhiên, phần “đuôi dưới” (whisker) và các điểm ngoại lai tập trung khá nhiều quanh giá trị 0–5 dặm, phản ánh sự tồn tại của các vụ tai nạn xảy ra khi tầm nhìn bị hạn chế (ví dụ: sương mù, mưa lớn, khói bụi).Đáng chú ý, nhóm Severity = 4 (mức độ nghiêm trọng cao nhất) có xu hướng có tầm nhìn thấp hơn các nhóm còn lại, mặc dù chênh lệch trung vị không lớn.
Điều này cho thấy yếu tố tầm nhìn có thể ảnh hưởng một phần đến mức độ nghiêm trọng của tai nạn, nhưng không phải là yếu tố quyết định duy nhất, vì sự khác biệt giữa các nhóm chưa thực sự rõ ràng.Về mặt kinh tế – xã hội:
Khi tầm nhìn bị giảm, khả năng phản ứng của người lái xe giảm đáng kể, làm tăng nguy cơ va chạm và thiệt hại tài sản.
Việc này dẫn đến chi phí kinh tế lớn hơn như chi phí sửa chữa, chi phí y tế, chi phí bảo hiểm và thiệt hại năng suất lao động.
Kết quả phân tích gợi ý rằng các cơ quan giao thông nên tăng cường cảnh báo tầm nhìn kém, đặc biệt trong các điều kiện thời tiết xấu (sương mù, mưa, khói bụi).Đồng thời, các doanh nghiệp bảo hiểm có thể sử dụng biến tầm nhìn như một yếu tố rủi ro trong mô hình định phí, từ đó giúp dự đoán và quản lý tổn thất hiệu quả hơn.
Việc đầu tư vào hệ thống chiếu sáng đường, camera giám sát và công nghệ cảnh báo sớm cũng có thể giúp giảm thiểu hậu quả kinh tế – xã hội do tai nạn trong điều kiện tầm nhìn kém.
Biến định tính (chr): Gồm có City, State, Wind_Direction, Weather_Condition.
Và sau đây ta sẽ đi thống kê mô tả từng biến định tính
## Length Class Mode
## 402430 character character
Biến City có 402430 quan sát, thuộc kiểu ký tự (character).
Mỗi quan sát biểu thị tên thành phố nơi xảy ra vụ tai nạn giao thông ở nước Mỹ như “Dayton”, “Austin”, “Los Angeles”,…
## Length Class Mode
## 402430 character character
Biến State được dùng để phân nhóm dữ liệu theo từng bang, giúp so sánh số lượng và mức độ nghiêm trọng của tai nạn giữa các khu vực.
Bộ dữ liệu cho thấy có 402430 vụ tai nạn xảy ra ở các Bang.
## Length Class Mode
## 402430 character character
Biến Wind_Direction có 402430 quan sát, thuộc kiểu dữ liệu ký tự (character).
Mỗi quan sát biểu thị hướng gió tại thời điểm xảy ra tai nạn.
## Length Class Mode
## 402430 character character
Biến Weather_Condition có 402430 quan sát, thuộc kiểu ký tự (character).
Mỗi quan sát mô tả điều kiện thời tiết tại thời điểm xảy ra tai nạn.
Biến định lượng (num): Gồm có Severity, Start_Lat, Start_Lng, Temperature(F), Humidity(%), Pressure(in), Visibility(mi), Wind_Speed(mph).
Và sau đây ta sẽ đi thống kê mô tả từng biến định tính
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 1.00 2.00 2.00 2.37 3.00 4.00
Biến Severity là biến định lượng thứ bậc (ordinal variable), có giá trị từ 1 đến 4, trong đó:
1 = Tai nạn nhẹ, ít ảnh hưởng; 2 = Tai nạn trung bình; 3 = Tai nạn tương đối nghiêm trọng; 4 = Tai nạn rất nghiêm trọng.
Giá trị trung bình (Mean) = 2.371, cho thấy đa số các vụ tai nạn rơi vào mức độ nhẹ đến trung bình.
Trung vị (Median) = 2, và phân vị thứ ba (3rd Qu.) = 3, nghĩa là 75% các vụ tai nạn có mức nghiêm trọng ≤ 3.
Dựa trên phân bố trên, biến Severity không đối xứng, hơi lệch phải (vì Mean > Median).
→ Cho thấy số vụ tai nạn nhẹ – trung bình chiếm đa số, còn các vụ rất nghiêm trọng chỉ chiếm tỷ lệ nhỏ.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 25.43 32.77 34.39 35.96 40.24 48.20
Biến Start_Lat thể hiện vĩ độ của vị trí nơi xảy ra tai nạn giao thông, được đo bằng độ (°).
Giá trị dao động từ 25.43° đến 48.20°, tương ứng với phạm vi lãnh thổ của Hoa Kỳ lục địa – từ vùng Florida (miền Nam) đến Minnesota và bang Washington (miền Bắc).
Giá trị trung bình (Mean) = 35.96°, và trung vị (Median) = 34.38°, cho thấy phần lớn các vụ tai nạn tập trung ở khu vực miền Nam và Trung Nam nước Mỹ (ví dụ: Texas, Georgia, Alabama, North Carolina…).
Phân vị thứ nhất (1st Qu.) = 32.77° và thứ ba (3rd Qu.) = 40.25° ⇒ khoảng 50% các vụ tai nạn xảy ra trong vùng 32°–40° vĩ Bắc.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -123.81 -118.01 -95.45 -97.04 -81.74 -70.57
Biến Start_Lng thể hiện kinh độ của vị trí xảy ra tai nạn, được đo bằng độ (°).
Giá trị dao động từ -123.81° đến -70.57°, bao phủ toàn bộ lãnh thổ Hoa Kỳ lục địa — từ bờ Tây (California, bang Washington) đến bờ Đông (New York, Maine).
Giá trị trung bình (Mean) = -97.02° và trung vị (Median) = -95.44°, cho thấy phần lớn các vụ tai nạn tập trung ở vùng trung tâm và phía Đông nước Mỹ (khoảng Texas, Missouri, Alabama, Tennessee…).
Phân vị thứ nhất (1st Qu.) = -118.01° và thứ ba (3rd Qu.) = -81.71° ⇒ khoảng 50% các vụ tai nạn xảy ra giữa khu vực miền Tây và miền Đông trung tâm Hoa Kỳ.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -13.00 55.40 68.00 65.42 78.10 161.60
Biến Temperature(F) thể hiện nhiệt độ không khí (độ F) tại thời điểm xảy ra tai nạn giao thông.
Giá trị dao động từ -13°F đến 161.6°F, cho thấy dữ liệu bao phủ nhiều vùng khí hậu khác nhau trên lãnh thổ Hoa Kỳ, từ những bang lạnh giá miền Bắc (như Minnesota, Michigan) đến những khu vực nóng như Texas hay Arizona.
Giá trị trung bình (Mean) = 65.41°F và trung vị (Median) = 68°F, chứng tỏ phần lớn các vụ tai nạn xảy ra trong điều kiện khí hậu ôn hòa – ấm áp, khoảng 18–20°C.
Phân vị thứ nhất (1st Qu.) = 55.4°F và phân vị thứ ba (3rd Qu.) = 78.1°F, tức 50% các vụ tai nạn xảy ra khi nhiệt độ nằm trong khoảng 55–78°F, tương đối dễ chịu cho việc di chuyển.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.00 48.00 64.00 63.08 80.00 100.00
Biến Humidity(%) thể hiện độ ẩm tương đối trong không khí tại thời điểm xảy ra tai nạn, đơn vị là %.
Giá trị dao động từ 4% đến 100%, nghĩa là dữ liệu bao phủ từ điều kiện khô ráo (sa mạc, vùng khô nóng) đến ẩm ướt tuyệt đối (mưa, sương mù dày).
Giá trị trung bình (Mean) = 63.09% và trung vị (Median) = 64%, cho thấy phần lớn các vụ tai nạn diễn ra trong điều kiện độ ẩm trung bình đến cao.
50% dữ liệu nằm trong khoảng 48% – 80% (theo 1st Qu. và 3rd Qu.), tương ứng với điều kiện thời tiết phổ biến ở nhiều bang miền Đông và miền Trung nước Mỹ.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 3.00 29.89 30.00 30.00 30.11 31.03
Biến Pressure(in) thể hiện áp suất không khí tại thời điểm xảy ra tai nạn, đơn vị là inHg.
Áp suất không khí dao động từ 3.00 inHg đến 31.03 inHg.
Phần lớn dữ liệu tập trung quanh mức 29.89 – 30.11 inHg, tương đương điều kiện khí quyển bình thường ở mực nước biển.
Giá trị trung bình (Mean) và trung vị (Median) đều bằng 30.00, cho thấy phân bố rất cân đối và ổn định.
Biến này khá đồng nhất, ít biến động trong toàn bộ mẫu.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 10.000 10.000 9.295 10.000 111.000
Tầm nhìn dao động từ 0 đến 111 dặm, nhưng giá trị cực đại 111 dặm có thể là ngoại lệ.
Trung bình (Mean) = 9.295, gần bằng trung vị (Median) = 10, chứng tỏ dữ liệu phân bố tương đối cân đối.
75% các quan sát có tầm nhìn ≤ 10 dặm, nghĩa là đa số các vụ tai nạn xảy ra trong điều kiện tầm nhìn bình thường đến hơi hạn chế.
Một số trường hợp có tầm nhìn bằng 0 dặm — thường xảy ra khi sương mù dày, mưa lớn hoặc bão tuyết.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 5.800 8.100 8.914 11.500 822.800
Tốc độ gió dao động từ 0 đến 822.8 mph.
Phần lớn giá trị nằm trong khoảng 5.8 – 11.5 mph, tương ứng với gió nhẹ đến trung bình.
Trung bình (Mean) = 8.91 mph và trung vị (Median) = 8.1 mph, cho thấy dữ liệu phân bố gần chuẩn, không bị lệch mạnh.
Một số quan sát có tốc độ gió bằng 0, tức là không có gió tại thời điểm xảy ra tai nạn.
ds <- ds %>%
mutate(Temp_Group = cut(`Temperature(F)`,
breaks = c(-Inf, 32, 60, 80, Inf),
labels = c("Lạnh", "Mát", "Ấm", "Nóng")))
table(ds$Temp_Group)##
## Lạnh Mát Ấm Nóng
## 19189 112021 185339 85881
Dữ liệu được chia thành 4 nhóm theo ngưỡng nhiệt độ (°F):
Lạnh: dưới 32°F (0°C)
Mát: từ 32°F đến dưới 60°F
Ấm: từ 60°F đến dưới 80°F
Nóng: từ 80°F trở lên
Kết quả cho thấy phần lớn tai nạn xảy ra ở nhóm Mát (55–60°F) và Ấm (60–80°F), phản ánh điều kiện thời tiết ôn hòa là phổ biến nhất tại Hoa Kỳ. Về mặt thống kê, nhiệt độ trung bình khoảng 65.4°F, độ lệch nhỏ cho thấy phần lớn dữ liệu tập trung quanh mức trung bình, không có nhiều giá trị ngoại lai cực đoan. Về mặt kinh tế – xã hội, điều này cho thấy tai nạn giao thông không chỉ xảy ra trong điều kiện khắc nghiệt, mà ngay cả khi thời tiết dễ chịu (ấm, mát), yếu tố con người và hạ tầng vẫn đóng vai trò quan trọng.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## -13.00 55.40 68.00 65.42 78.10 161.60
ds$Temp_Group <- ifelse(
ds$`Temperature(F)` < 45, "Nhiệt độ thấp",
ifelse(ds$`Temperature(F)` < 82, "Nhiệt độ trung bình", "Nhiệt độ cao"))
table(ds$Temp_Group)##
## Nhiệt độ cao Nhiệt độ thấp Nhiệt độ trung bình
## 69243 50500 282687
Kết quả cho thấy biến nhiệt độ được chia thành ba nhóm:
Nhiệt độ thấp (< 45°F): 50.500 quan sát
Nhiệt độ trung bình (45–82°F): 282.687 quan sát
Nhiệt độ cao (> 82°F): 69.243 quan sát
Phần lớn các vụ tai nạn xảy ra trong điều kiện nhiệt độ trung bình, chiếm tỷ trọng cao nhất trong bộ dữ liệu. Điều này phản ánh rằng tai nạn giao thông không chỉ xảy ra khi thời tiết khắc nghiệt (quá lạnh hoặc quá nóng) mà vẫn phổ biến trong điều kiện thời tiết ôn hòa, khi mật độ giao thông thường cao hơn.
Về mặt thống kê, giá trị trung bình của nhiệt độ là 65.4°F, với phần lớn dữ liệu tập trung quanh khoảng 55–78°F (từ tứ phân vị 1 đến tứ phân vị 3), cho thấy phân phối nhiệt độ khá đồng đều và ít cực đoan.
Ở góc độ kinh tế – xã hội, điều này có thể gợi ý rằng các yếu tố khác như mức độ đô thị hóa, mật độ phương tiện hoặc hành vi lái xe đóng vai trò lớn hơn so với điều kiện nhiệt độ trong việc ảnh hưởng đến số vụ tai nạn giao thông.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 4.00 48.00 64.00 63.08 80.00 100.00
ds$Humi_Group <- ifelse(
ds$`Humidity(%)` < 40, "Độ ẩm thấp",
ifelse(
ds$`Humidity(%)` < 70, "Độ ẩm trung bình",
"Độ ẩm cao"))
table(ds$Humi_Group)##
## Độ ẩm cao Độ ẩm thấp Độ ẩm trung bình
## 164147 59285 178998
Nhận xét:
Về mặt thống kê:
Biến Độ ẩm (%) có giá trị dao động từ 4% đến 100%, trung vị khoảng 64%, và trung bình khoảng 63.08%, cho thấy dữ liệu khá cân đối quanh mức trung bình.
Khi tiến hành phân tổ, phần lớn quan sát nằm trong nhóm “Độ ẩm trung bình” (≈ 179.000 quan sát), tiếp theo là “Độ ẩm cao” (≈ 164.000 quan sát), và thấp nhất là “Độ ẩm thấp” (≈ 59.000 quan sát).Điều này cho thấy phần lớn các vụ tai nạn xảy ra trong điều kiện không khí ẩm vừa phải đến cao, tức là thời tiết thường ẩm ướt hoặc có hơi nước trong không khí.
Độ ẩm thấp (dưới 40%) chiếm tỷ lệ nhỏ, thể hiện rằng các vụ tai nạn hiếm khi xảy ra trong điều kiện khô ráo hoàn toàn.Về mặt kinh tế – xã hội:
Kết quả này gợi ý rằng điều kiện ẩm ướt (độ ẩm trung bình hoặc cao) có thể làm tăng nguy cơ tai nạn giao thông.
Khi độ ẩm cao, mặt đường dễ trơn trượt, tầm nhìn có thể bị giảm do sương hoặc hơi nước, và thời gian phản ứng của tài xế giảm.Về khía cạnh kinh tế, điều này kéo theo chi phí sửa chữa phương tiện, chi phí y tế, bảo hiểm và gián đoạn giao thông gia tăng trong những ngày thời tiết ẩm ướt.
Do đó, các cơ quan giao thông có thể ưu tiên nâng cao hệ thống cảnh báo và thoát nước mặt đường, đặc biệt trong mùa mưa.Ngoài ra, các doanh nghiệp vận tải và bảo hiểm nên xem độ ẩm như một yếu tố dự báo rủi ro, từ đó xây dựng chính sách vận hành, bảo trì và định phí phù hợp, giúp giảm thiểu thiệt hại kinh tế và xã hội.
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 0.000 10.000 10.000 9.295 10.000 111.000
ds$Visi_Group <- ifelse(
ds$`Visibility(mi)` < 6, "Tầm nhìn kém",
ifelse(
ds$`Visibility(mi)` < 10, "Tầm nhìn trung bình",
"Tầm nhìn tốt"))
table(ds$Visi_Group)##
## Tầm nhìn kém Tầm nhìn tốt Tầm nhìn trung bình
## 30124 337525 34781
Nhận xét:
Về mặt thống kê:
Biến Tầm nhìn (mi) có giá trị dao động từ 0 đến 111 dặm, với trung vị và phần lớn dữ liệu tập trung quanh 10 dặm, cho thấy phần lớn các vụ tai nạn xảy ra trong điều kiện tầm nhìn tốt.
Cụ thể, khi phân tổ, nhóm “Tầm nhìn tốt” chiếm ưu thế áp đảo với 337.525 quan sát, trong khi “Tầm nhìn kém” chỉ có khoảng 30.124 quan sát, và “Tầm nhìn trung bình” chiếm tỷ lệ rất nhỏ (3.478 quan sát).Điều này cho thấy rằng tai nạn không chỉ xảy ra khi tầm nhìn bị hạn chế mà còn xuất hiện khá phổ biến ngay cả khi điều kiện nhìn rõ ràng — điều này có thể gợi ý rằng yếu tố tầm nhìn không phải là nguyên nhân duy nhất gây tai nạn, mà còn phụ thuộc vào hành vi lái xe, mật độ giao thông hoặc điều kiện đường sá.
Về mặt kinh tế – xã hội:
Khi tầm nhìn kém (dưới 6 dặm), nguy cơ xảy ra tai nạn nghiêm trọng tăng cao do người lái khó quan sát chướng ngại vật, đèn tín hiệu và các phương tiện khác.
Những vụ tai nạn trong điều kiện tầm nhìn thấp thường dẫn đến thiệt hại kinh tế lớn hơn — như chi phí khắc phục hậu quả, bồi thường bảo hiểm và gián đoạn lưu thông.Việc hơn 90% dữ liệu thuộc nhóm tầm nhìn tốt gợi ý rằng nguyên nhân tai nạn tại Mỹ không chủ yếu đến từ yếu tố thời tiết, mà có thể từ sự chủ quan, tốc độ hoặc sự bất cẩn của tài xế.
Do đó, các cơ quan quản lý giao thông có thể tập trung vào giải pháp công nghệ và giáo dục an toàn lái xe, thay vì chỉ cảnh báo theo điều kiện thời tiết.
Ngoài ra, trong các khu vực hay có sương mù hoặc khói bụi, nên tăng cường đèn chiếu sáng, biển phản quang và hệ thống radar hỗ trợ lái xe, giúp giảm rủi ro và tổn thất kinh tế – xã hội do tai nạn giao thông gây ra.
ds <- ds %>% mutate(
weather_simple = case_when(
str_detect(Weather_Condition, regex("Rain|Thunderstorm", ignore_case=TRUE)) ~ "Mưa",
str_detect(Weather_Condition, regex("Snow|Sleet|Ice", ignore_case=TRUE)) ~ "Tuyết",
str_detect(Weather_Condition, regex("Fog|Mist|Haze", ignore_case=TRUE)) ~ "Sương mù",
str_detect(Weather_Condition, regex("Cloud|Overcast", ignore_case=TRUE)) ~ "Nhiều mây",
str_detect(Weather_Condition, regex("Clear|Fair", ignore_case=TRUE)) ~ "Trời quang",
TRUE ~ "Khác"))Tần suất
## # A tibble: 6 × 2
## weather_simple n
## <chr> <int>
## 1 Nhiều mây 205329
## 2 Trời quang 160516
## 3 Mưa 25710
## 4 Sương mù 5136
## 5 Tuyết 4199
## 6 Khác 1540
Nhận xét:
Về mặt thống kê:
Dữ liệu được nhóm theo 6 loại điều kiện thời tiết chính cho thấy:
- Nhiều mây chiếm tỷ lệ cao nhất với 205.329 quan sát (~45%),
- Trời quang đứng thứ hai với 160.516 quan sát (~35%),
- Trong khi đó Mưa có 25.710, Sương mù 5.136, Tuyết 4.199, và nhóm Khác chỉ có 1.540 quan sát.Kết quả này chỉ ra rằng phần lớn các vụ tai nạn xảy ra trong điều kiện không quá xấu về thời tiết, đặc biệt là khi trời nhiều mây hoặc quang đãng, nghĩa là yếu tố thời tiết cực đoan (mưa, sương, tuyết) không phải là nguyên nhân chủ đạo của các vụ tai nạn.
Tuy nhiên, vẫn có một tỷ lệ nhỏ tai nạn xảy ra trong điều kiện thời tiết xấu (mưa, sương mù, tuyết), phản ánh rủi ro gia tăng khi tầm nhìn và độ bám đường giảm.Về mặt kinh tế – xã hội:
Kết quả cho thấy rằng các yếu tố con người và hạ tầng có vai trò quan trọng hơn điều kiện thời tiết trong việc gây tai nạn giao thông.
Việc có đến hơn 80% vụ tai nạn xảy ra khi trời quang hoặc nhiều mây cho thấy hành vi lái xe, tốc độ và ý thức tuân thủ luật là nguyên nhân chính, chứ không chỉ do mưa gió hay sương mù.Mặt khác, trong các điều kiện thời tiết bất lợi (mưa, sương mù, tuyết), rủi ro tai nạn nghiêm trọng cao hơn, dẫn đến tổn thất kinh tế – xã hội lớn hơn, bao gồm:
- Chi phí sửa chữa, bảo hiểm, thiệt hại tài sản,
- Gián đoạn giao thông và vận tải hàng hóa,
- Gia tăng chi phí y tế và mất năng suất lao động.Từ góc độ chính sách, cơ quan chức năng cần đầu tư vào hạ tầng chống trơn trượt, hệ thống thoát nước, cảnh báo tầm nhìn, và khuyến khích lái xe an toàn khi thời tiết xấu.
Đồng thời, các công ty bảo hiểm có thể sử dụng yếu tố thời tiết như một biến rủi ro trong mô hình định phí để phản ánh đúng xác suất xảy ra tổn thất.
Biểu đồ
library(scales)
ggplot(ds, aes(x=weather_simple)) +
geom_bar() +
scale_y_continuous(labels=comma) +
labs(title="Số vụ theo điều kiện thời tiết", x="Thời tiết", y="Số vụ tai nạn")Nhận xét:
Về mặt thống kê:
Biểu đồ cho thấy phần lớn các vụ tai nạn xảy ra khi thời tiết “Nhiều mây” (≈205.000 vụ) và “Trời quang” (≈160.000 vụ).
Trong khi đó, các điều kiện thời tiết khắc nghiệt như “Mưa” (~25.000 vụ), “Sương mù” (~5.000 vụ) và “Tuyết” (~4.000 vụ) chiếm tỷ trọng nhỏ hơn đáng kể.Kết quả này cho thấy rằng thời tiết xấu không phải là nguyên nhân chủ yếu gây ra tai nạn, mà phần lớn tai nạn xảy ra trong điều kiện tầm nhìn tốt, đường khô ráo.
Điều này có thể do yếu tố con người (chủ quan, chạy quá tốc độ, mất tập trung) hoặc mật độ giao thông cao vào các ngày trời quang và nhiều mây.Về mặt kinh tế – xã hội:
Mặc dù các vụ tai nạn trong điều kiện mưa, sương hoặc tuyết chiếm tỷ lệ thấp, nhưng mức độ thiệt hại kinh tế có thể cao hơn, do tai nạn trong điều kiện thời tiết xấu thường liên quan đến nhiều phương tiện và hậu quả nghiêm trọng hơn.Việc hơn 80% số vụ xảy ra trong điều kiện bình thường gợi ý rằng biện pháp giảm tai nạn nên tập trung vào hành vi người lái hơn là chỉ ứng phó với thời tiết.
Cụ thể:
- Tăng giáo dục lái xe an toàn, kiểm soát tốc độ và hành vi vượt ẩu.
- Đầu tư hạ tầng giao thông thông minh, giám sát bằng camera và cảnh báo thời tiết tự động.
- Với khu vực thường xuyên có sương hoặc tuyết, cần đầu tư hệ thống chiếu sáng và biển phản quang, giúp giảm rủi ro.Tóm lại, thời tiết chỉ là yếu tố phụ; ý thức và thói quen lái xe mới là nhân tố chính ảnh hưởng đến số vụ tai nạn, đồng thời là điểm mấu chốt để giảm thiểu thiệt hại kinh tế và xã hội do tai nạn giao thôn
ggplot(ds, aes(x=Temp_Group, fill=factor(Severity))) +
geom_bar(position="fill") +
scale_y_continuous(labels=percent) +
labs(title="Tỷ lệ Severity theo nhóm nhiệt độ", x="Nhóm nhiệt độ", y="Tỷ lệ", fill="Severity")Nhận xét:
Về mặt thống kê:
Biểu đồ thể hiện tỷ lệ mức độ nghiêm trọng (Severity) của các vụ tai nạn theo ba nhóm nhiệt độ: nhiệt độ thấp, trung bình, và cao.
Dễ thấy rằng tỷ lệ giữa các mức Severity khá đồng đều ở cả ba nhóm, không có sự chênh lệch lớn.Nhóm Severity = 2 (mức độ trung bình) chiếm tỷ lệ cao nhất trong mọi nhóm nhiệt độ, khoảng 60–65%,
trong khi Severity = 1 (nhẹ) và Severity = 3–4 (nghiêm trọng hoặc rất nghiêm trọng) chiếm tỷ lệ nhỏ hơn, dao động quanh 30–35%.Điều này cho thấy nhiệt độ không phải là yếu tố quyết định lớn đến mức độ nghiêm trọng của tai nạn.
Dù nhiệt độ cao, thấp hay trung bình, tỷ lệ các vụ tai nạn nghiêm trọng vẫn tương đối ổn định — cho thấy yếu tố môi trường (nhiệt độ) chỉ ảnh hưởng gián tiếp, còn nguyên nhân chính vẫn đến từ hành vi lái xe, mật độ giao thông hoặc điều kiện đường sá.Về mặt kinh tế – xã hội:
Từ góc nhìn thực tế, điều kiện nhiệt độ cực đoan (quá lạnh hoặc quá nóng) có thể ảnh hưởng đến khả năng tập trung và phản ứng của tài xế —
tuy nhiên, dữ liệu cho thấy tác động này không đủ lớn để làm thay đổi đáng kể mức độ nghiêm trọng của tai nạn.Điều này gợi ý rằng các chiến lược an toàn giao thông không nên chỉ tập trung vào yếu tố thời tiết, mà nên ưu tiên các biện pháp:
- Nâng cao ý thức và kỹ năng lái xe trong mọi điều kiện thời tiết.
- Cải thiện chất lượng mặt đường (đặc biệt trong điều kiện nóng/lạnh dễ nứt hoặc trơn).
- Áp dụng công nghệ cảnh báo sớm (như cảm biến nhiệt độ lốp, hỗ trợ phanh tự động).Về mặt kinh tế, việc duy trì an toàn giao thông ổn định bất chấp biến động thời tiết giúp giảm chi phí bảo trì, bồi thường và gián đoạn vận tải, góp phần ổn định chuỗi cung ứng và năng suất lao động.
set.seed(1)
ds_sample <- ds %>%
tidyr::drop_na(`Temperature(F)`, `Visibility(mi)`, Severity) %>%
dplyr::slice_sample(prop = 0.05)
ggplot(ds_sample, aes(`Temperature(F)`, `Visibility(mi)`, color = factor(Severity))) +
geom_point(alpha = 0.3, size = 0.5) +
theme_bw()Nhận xét:
Về mặt thống kê:
Biểu đồ thể hiện mối quan hệ giữa tầm nhìn (Visibility) và nhiệt độ (Temperature) trong mối tương quan với mức độ nghiêm trọng của tai nạn (Severity).
Các điểm dữ liệu được phân bố dày đặc trong vùng tầm nhìn thấp (0–10 mile) và nhiệt độ từ 30°F đến 80°F, cho thấy đây là điều kiện thời tiết phổ biến nhất khi tai nạn xảy ra.Màu sắc của các điểm (đại diện cho các mức độ Severity) cho thấy Severity = 2 (trung bình) và Severity = 3 (nghiêm trọng) chiếm tỷ lệ lớn hơn hẳn so với Severity = 1 và 4.
Đáng chú ý, khi tầm nhìn giảm xuống dưới 5 mile, mật độ các điểm Severity cao (màu xanh và vàng đậm) xuất hiện nhiều hơn, cho thấy tầm nhìn hạn chế có xu hướng làm tăng mức độ nghiêm trọng của tai nạn.Mặt khác, ở những điều kiện tầm nhìn xa > 10 mile, các vụ tai nạn nghiêm trọng gần như không xuất hiện. Điều này cho thấy sự cải thiện tầm nhìn có thể làm giảm xác suất xảy ra tai nạn nặng.
Tuy nhiên, phân bố dữ liệu khá dày ở vùng trung tâm (tầm nhìn thấp và nhiệt độ trung bình) cho thấy tác động của tầm nhìn đến mức độ nghiêm trọng chỉ ở mức vừa phải, còn yếu tố con người và mật độ giao thông mới là nguyên nhân chính quyết định mức độ Severity.
Về mặt kinh tế – xã hội:
Dữ liệu này phản ánh thực tế rằng tầm nhìn kém là yếu tố rủi ro đáng kể đối với an toàn giao thông, đặc biệt trong các khu vực đô thị hoặc cao tốc — nơi tốc độ cao và thời gian phản ứng của tài xế bị giới hạn.Khi tầm nhìn bị giảm do sương mù, mưa hoặc bụi, khả năng xử lý tình huống và khoảng cách phanh an toàn bị ảnh hưởng, dẫn đến chi phí xã hội cao hơn như:
- Thiệt hại tài sản do va chạm xe;
- Chi phí y tế và bảo hiểm tăng;
- Gián đoạn giao thông và vận tải hàng hóa, ảnh hưởng đến hiệu quả kinh tế.Về chính sách, điều này gợi ý cần tập trung vào:
- Cảnh báo sớm và biển báo điện tử tại các khu vực thường xuyên có sương mù hoặc mưa lớn;
- Cải thiện hệ thống chiếu sáng và phản quang đường bộ để hỗ trợ lái xe trong điều kiện tầm nhìn kém;
- Tăng cường đào tạo và tuyên truyền kỹ năng lái xe an toàn trong điều kiện thời tiết xấu.Tóm lại, tầm nhìn là yếu tố môi trường có ảnh hưởng rõ rệt đến mức độ nghiêm trọng của tai nạn, nhưng để giảm thiểu rủi ro, cần phối hợp đồng bộ giữa hạ tầng giao thông, công nghệ giám sát và ý thức người lái.
library(dplyr)
library(tidyr)
library(ggplot2)
set.seed(1)
ds_sample <- ds %>%
tidyr::drop_na(`Temperature(F)`, `Visibility(mi)`, Severity) %>% # bỏ NA
dplyr::slice_sample(n = 50000) # hoặc: prop = 0.05
ggplot(ds_sample, aes(x = `Temperature(F)`, y = `Visibility(mi)`, color = factor(Severity))) +
geom_point(alpha = 0.3, size = 0.5) +
labs(title = "Quan hệ giữa Nhiệt độ và Tầm nhìn theo Severity",
x = "Nhiệt độ (°F)", y = "Tầm nhìn (mile)", color = "Severity") +
theme_bw()Nhận xét:
Về mặt thống kê:
Biểu đồ thể hiện mối quan hệ giữa nhiệt độ (°F) và tầm nhìn (mile), được phân nhóm theo mức độ nghiêm trọng (Severity) của các vụ tai nạn.Có thể thấy rằng phần lớn các điểm dữ liệu tập trung ở vùng nhiệt độ từ 30°F đến 80°F và tầm nhìn dưới 10 mile.
Điều này cho thấy đa số các vụ tai nạn xảy ra trong điều kiện thời tiết ôn hòa và tầm nhìn hạn chế nhẹ — tức là thời tiết không quá cực đoan, nhưng có thể có sương nhẹ, mưa nhỏ hoặc khói bụi làm giảm tầm quan sát.Ngoài ra, các vụ tai nạn có Severity = 2 (mức độ trung bình) và Severity = 3 (nghiêm trọng) chiếm đa số, thể hiện bằng mật độ điểm màu xanh lá và xanh lam dày đặc.
Những vụ Severity = 1 (nhẹ) và Severity = 4 (rất nghiêm trọng) chỉ chiếm tỷ lệ nhỏ, xuất hiện rải rác.Không có xu hướng rõ ràng cho thấy nhiệt độ hoặc tầm nhìn đơn lẻ ảnh hưởng mạnh đến mức độ nghiêm trọng, tuy nhiên phân tán dữ liệu dày đặc ở vùng tầm nhìn thấp (<10 mile) gợi ý rằng giảm tầm nhìn có thể làm tăng xác suất xảy ra tai nạn nghiêm trọng.
Về mặt kinh tế – xã hội:
Trong thực tế, tầm nhìn và nhiệt độ là hai yếu tố liên quan mật thiết đến an toàn giao thông và chi phí vận hành phương tiện.
- Tầm nhìn thấp làm tăng khả năng va chạm, đặc biệt ở khu vực đô thị và đường cao tốc — dẫn đến thiệt hại tài sản và chi phí bảo hiểm cao hơn.
- Nhiệt độ thấp (cận 0°F) có thể gây trơn trượt, giảm độ bám đường, trong khi nhiệt độ quá cao ảnh hưởng đến hiệu suất phanh và lốp xe.
Tuy nhiên, như dữ liệu cho thấy, đa phần các vụ tai nạn vẫn xảy ra ở điều kiện bình thường (30–80°F), chứng tỏ yếu tố con người và hành vi lái xe vẫn là nguyên nhân chính.
Từ góc độ kinh tế, điều này nhấn mạnh nhu cầu: - Đầu tư vào hệ thống cảnh báo tầm nhìn và điều kiện thời tiết trên các tuyến giao thông chính.
- Triển khai chính sách bảo dưỡng định kỳ cho xe tải, xe khách trong giai đoạn thời tiết khắc nghiệt.
- Đào tạo và tuyên truyền kỹ năng lái xe an toàn trong điều kiện tầm nhìn kém.Nhìn chung, nhiệt độ và tầm nhìn có ảnh hưởng nhất định đến tần suất và mức độ nghiêm trọng của tai nạn, nhưng tác động này mang tính bổ trợ hơn là nguyên nhân trực tiếp — cần được xem xét kết hợp với các yếu tố như điều kiện đường, mật độ xe và hành vi người lái.