Hôm nay lọ mọ đọc báo thấy bài này: Bộ trưởng Thăng quyết liệt: Tai nạn giao thông… giảm sâu! Nghe thấy Bác Thăng phát biểu vậy tôi thấy mừng quá đỗi vì tai nạn giao thông vốn là một thứ ám ảnh ở Việt Nam. Thế nhưng, có điều tôi vẫn còn thấy “lăn tăn” là cảm thấy báo chí đăng tải mỗi ngày về số vụ tai nạn giao thông thì vẫn thế. Có lẽ mình bi quan quá chăng? Thôi thì tự tìm câu trả lời vậy.
Để đánh giá được phát biểu của Bác có phù hợp thực tế hay không tôi sẽ dùng 3 thông số trung bình : Tổng số tai nạn giao thông/ năm, Tổng số người bị thương/ năm, Tổng số người tử vong/ năm do tai nạn giao thông gây ra. Bác Thăng nhậm chức Bộ trưởng BGTVT vào tháng 8 năm 2011 do đó có thể tạm coi từ năm 2012 trở đi là thành quả công việc của Bác, còn từ năm 2011 trở về trước là hậu quả của các bậc tiền nhiệm.Túm cái váy lại là tôi sẽ so sánh 3 thông số nêu trên ở mốc thời điểm trước và sau năm 2012.
Vấn đề khó khăn nhất ở Việt Nam khi muốn kiểm chứng điều gì là tìm số liệu ở đâu ra bây giờ? Chắc mẩm là tìm ở trang thông tin điện tử: Ủy ban an toàn giao thông quốc gia Việt Nam thì phải có. Hì hì ! Đúng vậy, Không có dữ liệu. Cái người ta cần thì thường không có, còn cái gì có thì người ta không cần. Cuối cùng…Đành phải rút bài tủ : Hỏi đại ca Google!.
Tôi lấy con số của báo chí tổng kết vào dịp cuối năm để lập ra bảng bên dưới. Lưu ý là con số năm 2014 là ước tính vì … đã hết năm đâu?! Năm 2014 ước tính bằng cách lấy [4 tháng đầu năm(8) + dịp nghỉ lễ 30/4-1/5 (9)]x 3 để ra số trung bình cả năm.
Năm 2007 | Năm 2008 | Năm 2009 | Năm 2010 | Năm 2011 | Năm 2012 | Năm 2013 | Năm 2014* | |
Số vụ tai nạn | 14624 | 11522 | 12500 | 14442 | 44548 | 36376 | 29358 | 26316 |
Số người bị thương | 10546 | 10397 | 8000 | 10633 | 48734 | 38060 | 29500 | 25800 |
Số người tử vong | 13150 | 7413 | 1150 | 11449 | 11395 | 9838 | 9369 | 9738 |
Nguồn | (1) | (2) | (3) | (4) | (5) | (6) | (7) | (8),(9) |
Bây giờ là lúc ta đánh giá các thông số…

Nhìn biểu đồ chúng ta có thể thấy là vào năm bác Thăng nhậm chức năm 2011 có sự tăng đột biến về số lượng các vụ TNGT. Các bạn đọc báo thì sẽ thấy người ta năm nào cũng nói là TNGT có giảm. Nhìn trên biểu đồ thì thấy có vẻ giảm thật sau năm 2011, nhưng các bạn có thể thấy đoạn từ năm 2012 đến nay số vụ TNGT còn cao hơn số vụ từ năm 2010 về trước!
Nếu so sánh trước và sau khi bác Thăng nhậm chức thì sao?

Có vẻ như thời của bác Thăng số vụ TNGT còn cao hơn! Nhưng sai biệt này không có ý nghĩa (Wilcoxon p=0.4, đổi biến log t-test p=0.17). Có vẻ như số lượng vụ TNGT tăng đột biến vào năm 2011 đã cứu bác Thăng nếu không khác biệt này chắc chắn có ý nghĩa. Tạm kết luận số vụ TNGT trung bình/năm là không khác nhau ở hai thời điểm.
Tiếp tục, ta xem xét đến trung bình số người thương vong qua các năm. Chúng ta có thể thấy dường như số tử vong vẫn thế nhưng số bị thương dưới triều đại bác Thăng có vẻ nhiều hơn!


Tính toán cho thấy số người tử vong khác biệt không có ý nghĩa (Wilcoxon p=0.4, đổi biến log t-test p=0.75). Thế còn số bị thương thì sao nhỉ?

Khác biệt trên biểu đồ là rất rõ ràng. Phép kiểm phi tham số không cho phép phát hiện sự khác biệt này (Wilcoxon p=0.057) nhưng chỉ cần đổi biến log để loại trừ tính không chuẩn của dữ liệu thì sự khác biệt là rất rõ (t-test p=0.004). Vậy là dưới triều đại bác Thăng số người bị thương cao hơn có ý nghĩa so với trước đó. Mức tăng số người bị thương trung bình là 26% (KTC 95%: 15% – 44%)
Sau một thời gian lò mò tính toán như trên tôi xin được phép kết luận:
Có thể có một số thứ giảm sâu và một số thứ giảm rất sâu nhưng tai nạn giao thông thì không!
Những ngày tháng nóng như lửa ở Sài Gòn,
Xin kèm theo mã nguồn R để mọi thứ được minh bạch và để được chỉ giáo thêm
#Store some variables
years<- c("2007","2008","2009","2010","2011","2012","2013","2014")
accident.byYear <- c(14624,11522,12500,14442,44548,36376,29385,26316)
injury.byYear <- c(10546,10397,8000,10633,48734,38060,29500,25800)
death.byYear <- c(13150,7413,11500,11449,11395,9838,9369,9738)
#Draw bar chart for number of accidents by year
names(accident.byYear)<- years
barplot(accident.byYear,las=2,cex.axis=0.8,col=gray(0:8/8),ylim=c(0,50000),main="So tai nan giao thong theo cac nam",xlab="Nam",ylab="So tai nan giao thong")
#set reference line and modify x axis
accident.ref<- c(min(accident.byYear),max(accident.byYear))
axis(2, at=accident.ref, labels=accident.ref, col.axis="red", las=2,cex.axis=0.7)
abline(h=accident.ref,lty=3,col="red")
#Hey! chi-square test here
chisq.test(accident.byYear)
#Compare number of accidents before and after the Minister in power
accident.before<-accident.byYear[c("2007","2008","2009","2011")]
accident.after<-accident.byYear[c("2012","2013","2014")]
boxplot(accident.before,accident.after,varwidth=TRUE,names=c("Truoc","Sau"),main="So vu tai nan")
wilcox.test(accident.before,accident.after)
t.test(log(accident.before+0.1),log(accident.after+0.1))
#Draw stacked bar plot for injured and dead victims
aftermath <- matrix(c(injury.byYear,death.byYear),byrow=TRUE,nrow=2,dimnames=list(c("Bi thuong","Tu vong"),years))
barplot(aftermath,ylim=c(0,90000),main="So thuong vong do tai nan giao thong theo cac nam",ylab="So nguoi thuong vong",xlab="Nam",legend=rownames(aftermath))
#Compare number of deaths before and after the Minister in power
death.before <-death.byYear[c(1:4)]
death.after<-death.byYear[c(5:7)]
boxplot(death.before,death.after,varwidth=TRUE,names=c("Truoc","Sau"),main="So tu vong")
wilcox.test(death.before,death.after)
t.test(log(death.before+0.1),log(death.after+0.1))
#Compare number of injuries before and after the Minister in power
injury.before <-injury.byYear[c(1:4)]
injury.after<-injury.byYear[c(5:7)]
boxplot(injury.before,injury.after,ylim=c(0,52000),varwidth=TRUE,names=c("Truoc","Sau"),main="So bi thuong")
wilcox.test(injury.before,injury.after)
t.test(log(injury.before +0.1),log(injury.after+0.1))