library(ggplot2)
library(readxl)
library(epitools)
library(caret)
## Loading required package: lattice
library(DescTools)
##
## Attaching package: 'DescTools'
## The following objects are masked from 'package:caret':
##
## MAE, RMSE
Dữ liệu được lấy ở 1143 người với mục đích để xây dựng các mô hình dự đoán khả năng mắc bệnh tiểu đường dựa trên tiền sử bệnh và độ tuổi cũng như thói quen sinh hoạt của họ.
Gender: Giới tính “0” là nam, “1” là nữ.
Age: Tuổi tác, người lớn tuổi thường được cho là dễ mắc bệnh tiểu đường hơn;
Hypertension: Tăng huyết áp, “0” có nghĩa người đó không mắc tăng huyết áp, “1” là mắc tăng huyết áp;
Heart_disease: Bệnh tim, “0” nghĩa là không mắc bệnh tim, “1” là mắc bệnh tim, đây được cho là nguy cơ phát triển bệnh tiểu đường;
Smoking_history: Tiền sử hút thuốc, đây được cho là nguy cơ làm mắc bệnh tiểu đường và làm trầm trọng hơn khi đã mắc bệnh, “0” là không hút, “1” có hút;
BMI: Body Mass Index, là thước đo lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao, giá trị BMI cao được cho là có rủi ro mắc bệnh cao hơn;
HbA1c_level: Huyết sắc tố A1c, đây là mức độ đo lượng đường huyết trong người trong 2-3 tháng;
Blood_Glucose_level: là chỉ số dùng để biểu thị lượng đường có trong máu của một người (mg/dl)
Diabetes: Bệnh tiểu đường, với “1” là giá trị cho thấy người đó có khả năng mắc bệnh tiểu đường.
library(readxl)
datask <- read_excel("C:/Users/ASUS/Downloads/datask.xlsx")
View(datask)
datask
## # A tibble: 1,143 × 9
## Gender Age Heart_disease Smoking_history BMI HbA1c_level
## <dbl> <dbl> <dbl> <dbl> <dbl> <dbl>
## 1 1 62 1 1 44.2 8.2
## 2 1 46 1 1 51.6 7.5
## 3 1 80 1 1 28.1 8.2
## 4 1 64 1 1 31.6 7.5
## 5 0 68 1 1 27.3 8.8
## 6 1 80 1 1 27.3 9
## 7 1 70 1 1 31.9 7
## 8 1 53 1 1 22.7 6.6
## 9 1 70 1 1 27.3 8.2
## 10 1 67 1 1 39.7 8.8
## # ℹ 1,133 more rows
## # ℹ 3 more variables: Blood_glucose_level <dbl>, Diabetes <dbl>,
## # Hypertension <dbl>
Yêu cầu: Chọn 1 hoặc 2 biến định tính và 1 biến định lượng làm biến phụ thuộc để phân tích, giải thích lý do.
Gender: Giới tính;
Hypertension: Tăng huyết áp;
Heart_disease: Bệnh tim;
Smoking_history: Tiền sử hút thuốc;
Diabetes: Bệnh tiểu đường.
Age: Tuổi tác;
BMI: Body Mass Index, là thước đo lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao;
HbA1c_lever: Huyết sắc tố A1c, đây là mức độ đo lượng đường huyết trong người trong 2-3 tháng;
Blood_Glucose_lever: là chỉ số dùng để biểu thị lượng đường có trong máu của một người.
Biến định tính Diabetes sẽ phụ thuộc vào các biến còn lại.
Giải thích:
Bệnh tiểu đường sẽ xuất hiện và nặng hay nhẹ dựa trên các nguyên nhân khác và trong bài phần sau sẽ thấy rõ biến Diabetes phụ thuộc các biến kia thế nào.
Biến định lượng Blood_Glucose_lever (Chỉ số biểu thị lượng đường có trong máu của một người) phụ thuộc vào biến định tính Hypertension (Tăng huyết áp).
Giải thích:
Tăng huyết áp ảnh hưởng đến lượng đường có trong máu vì tăng huyết áp làm giảm khả năng lưu thông máu ở các cơ quan quan trọng, trong đó có tuyến tụy. Tuyến tụy là nơi sản xuất insulin, một hormone giúp điều tiết lượng glucose trong máu. Khi tuyến tụy bị thiếu máu do tăng huyết áp, insulin sẽ không được sản xuất đủ, dẫn đến glucose tích tụ trong máu và gây tiểu đường.
Yêu cầu: Làm thống kê mô tả để phân tích cho ít nhất 5 biến (vừa định tính định lượng và có 2 biến đã chọn ở câu 2), nhận xét về kết quả phân tích này.
table(datask$Gender)
##
## 0 1
## 483 660
table(datask$Gender)/sum(table(datask$Gender))*100
##
## 0 1
## 42.25722 57.74278
library(ggplot2)
datask |> ggplot( aes( x = Gender, y= after_stat(count))) + geom_bar(color='green', fill='blue') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Giới tính') + ylab('Số mẫu')
Biến Gender (Giới tính) là biến định tính. Dựa vào kết quả thống kê trên ta thấy được trong số 1143 người được tiến hành khảo sát thì có 660 người là nữ và chiếm 57.74% trên tổng số người khảo sát, 483 người là nam và chiếm 42.26% trên tổng số người khảo sát.
table(datask$Smoking_history)
##
## 0 1
## 899 244
table(datask$Smoking_history)/sum(table(datask$Smoking_history))*100
##
## 0 1
## 78.65267 21.34733
library(ggplot2)
datask |> ggplot( aes( x = Smoking_history, y= after_stat(count))) + geom_bar(color='green', fill='blue') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Tiền sử hút thuốc') + ylab('Số mẫu')
Biến Smoking_history (Tiền sử hút thuốc) là biến định tính. Dựa vào kết quả thống kê trên ta thấy được trong số 1143 người được tiến hành khảo sát thì có 244 người có tiền sử hút thuốc chiếm 21.34%, 899 người không hút thuốc chiếm 78.65%.
table(datask$Hypertension)
##
## 0 1
## 882 261
table(datask$Hypertension)/sum(table(datask$Hypertension))*100
##
## 0 1
## 77.16535 22.83465
library(ggplot2)
datask |> ggplot( aes( x = Hypertension, y= after_stat(count))) + geom_bar(color='green', fill='blue') + geom_text(aes(label= scales :: percent(after_stat(count/sum(count)),accuracy=.01)), stat = 'count', color= 'black', vjust= -.5) + theme_classic() + xlab('Tăng huyết áp') + ylab('Số mẫu')
Biến Hypertension (Tăng huyết áp) là biến định tính. Dựa vào kết quả thống kê trên ta thấy được trong số 1143 người được tiến hành khảo sát thì có 882 người không mắc chứng tăng huyết áp và chiếm 77.17% trên tổng số người khảo sát, 261 người mắc chứng tăng huyết áp và chiếm 22.83% trên tổng số người khảo sát.
summary(datask$Blood_glucose_level)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 80.0 85.0 130.0 131.1 159.0 300.0
Biến Blood_glucose_level là biến định lượng cho biết chỉ số biểu thị lượng đường có trong máu của một người. Thông qua kết quả trên ta thấy chỉ số biểu thị lượng đường có trong máu của một người đo được thấp nhất ở mức 80 mg/dl, cao nhất là 300 mg/dl và chỉ số trung bình là 1.1 mg/dl. 131.1 mg/dl.
Tứ phân vị là 3 điểm cắt chia tập dữ liệu thành 4 phần bằng nhau, cụ thể như sau:
Tứ phân vị thứ 1 (1st Qu.) = 85. Nghĩa là dưới 25% số người có chỉ số biểu thị lượng đường có trong máu thấp hơn 85 mg/dl hay trên 75% người có chỉ số biểu thị lượng đường có trong máu cao hơn 85 mg/dl.
Tứ phân vị thứ 2 (trung vị: Median) = 130. Nghĩa là dưới 50% số người có chỉ số biểu thị lượng đường có trong máu thấp hơn 130 mg/dl hay trên 50% người có chỉ số biểu thị lượng đường có trong máu cao hơn 130 mg/dl.
Tứ phân vị thứ 3 (3rd Qu.) = 159. Nghĩa là dưới 75% số người có chỉ số biểu thị lượng đường có trong máu thấp hơn 159 mg/dl hay trên 75% người có chỉ số biểu thị lượng đường có trong máu cao hơn 175 mg/dl.
Blood_glucose_level <- datask$Blood_glucose_level
table(cut(Blood_glucose_level,3))
##
## (79.8,153] (153,227] (227,300]
## 696 443 4
Dựa vào kết quả thống kê trên ta thấy được trong số 1143 người được tiến hành khảo sát thì có 696 người có chỉ số biểu thị lượng đường có trong máu trong khoảng từ 79,8 đến 153 mg/dl, 443 người có chỉ số biểu thị lượng đường có trong máu trong khoảng từ 153 đến 227 mg/dl, 4 người có chỉ số biểu thị lượng đường có trong máu cao trong khoảng 227 đến 300 mg/dl.
hist(datask$Blood_glucose_level, main = "Blood_glucose_level", xlab = "Chỉ số biểu thị lượng đường có trong máu của một người", ylab = "Số người", col = "red")
summary(datask$BMI)
## Min. 1st Qu. Median Mean 3rd Qu. Max.
## 13.57 19.92 21.38 24.11 27.32 63.48
Biến BMI là biến định lượng cho biết lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao. Thông qua kết quả trên ta thấy lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao đo được thấp nhất ở mức 13.57 kg/m2, cao nhất là 63,48 kg/m2 và chỉ số trung bình là 24.11 kg/m2.
Tứ phân vị là 3 điểm cắt chia tập dữ liệu thành 4 phần bằng nhau, cụ thể như sau:
Tứ phân vị thứ 1 (1st Qu.) = 19.92. Nghĩa là dưới 25% số người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao thấp hơn 19.92 kg/m2 hay trên 75% người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao cao hơn 19.92 kg/m2.
Tứ phân vị thứ 2 (trung vị: Median) = 21.38. Nghĩa là dưới 50% số người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao thấp hơn 21.38 kg/m2 hay trên 50% người có chỉ số biểu thị lượng đường có trong máu cao hơn 21.38 kg/m2.
Tứ phân vị thứ 3 (3rd Qu.) = 27.32. Nghĩa là dưới 75% số người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao thấp hơn 27.32 kg/m2 hay trên 75% người có chỉ số biểu thị lượng đường có trong máu cao hơn 27.32 kg/m2.
BMI <- datask$BMI
table(cut(BMI,3))
##
## (13.5,30.2] (30.2,46.8] (46.8,63.5]
## 995 133 15
Dựa vào kết quả thống kê trên ta thấy được trong số 1143 người được tiến hành khảo sát thì có 995 người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao trong khoảng từ 13.5 đến 30.2 kg/m2, 133 người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao trong khoảng từ 30.2 đến 46.8 kg/m2, 15 người có lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao trong khoảng 46.8 đến 63.5 kg/m2.
hist(datask$BMI, main = "BMI", xlab = "Lượng mỡ trong cơ thể dựa trên cân nặng và chiều cao", ylab = "Số người", col = "pink")
Yêu cầu: Phân tích thống kê mô tả của 2 biến phụ thuộc ở câu 2 với 5 biến còn lại trong câu 3, nhận xét về kết quả phân tích này
Giả thuyết:
H0: Biến Diabetes và biến Gender độc lập với nhau
H1: Biến Diabetes và biến Gender không độc lập với nhau
gil <- table (datask$Diabetes, datask$Gender)
gil
##
## 0 1
## 0 384 558
## 1 99 102
chisq.test(gil)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: gil
## X-squared = 4.5511, df = 1, p-value = 0.0329
Vì p_value = 0.0329 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là Biến Diabetes và biến Gender không độc lập với nhau.
ts1 <- table(datask$Diabetes, datask$Gender)
ts1
##
## 0 1
## 0 384 558
## 1 99 102
ts11 <- prop.table(ts1)
addmargins(ts11)
##
## 0 1 Sum
## 0 0.33595801 0.48818898 0.82414698
## 1 0.08661417 0.08923885 0.17585302
## Sum 0.42257218 0.57742782 1.00000000
Ta thấy:
Có 558 người là nam không mắc bệnh tiểu đường chiếm 48.82% Có 102 người là nam mắc bệnh tiểu đường chiếm 8.92% Có 384 người là nữ không mắc bệnh tiểu đường chiếm 33.6% Có 99 người là nữ không mắc bệnh tiểu đường chiếm 8.66%
epitab(ts1, method = "riskratio")
## $tab
##
## 0 p0 1 p1 riskratio lower upper p.value
## 0 384 0.4076433 558 0.5923567 1.0000000 NA NA NA
## 1 99 0.4925373 102 0.5074627 0.8566843 0.7402091 0.9914875 0.02790281
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, rủi ro tương đối của bệnh tiểu đường theo giới tính là 0.8567. Tức là, tỉ lệ bệnh tiểu đường theo giới tính nam thấp hơn tỉ lệ bệnh tiểu đường theo giới tính nữ. giá trị p-value = 0.03 cho thấy có ý nghĩa thống kê thống kê.
epitab(ts1, method = "oddsratio")
## $tab
##
## 0 p0 1 p1 oddsratio lower upper p.value
## 0 384 0.7950311 558 0.8454545 1.0000000 NA NA NA
## 1 99 0.2049689 102 0.1545455 0.7090257 0.5223595 0.9623975 0.02790281
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, tỷ lệ chênh lệch của bệnh tiểu đường theo giới tính là 0.7090. Tức là, tỉ lệ bệnh tiểu đường theo giới tính nam thấp hơn tỉ lệ bệnh tiểu đường theo giới tính nữ. giá trị p-value = 0.03 cho thấy có ý nghĩa thống kê thống kê.
Giả thuyết:
H0: Biến Diabetes và biến Heart_disease độc lập với nhau
H1: Biến Diabetes và biến Heart_disease không độc lập với nhau
gil <- table (datask$Diabetes, datask$Heart_disease)
gil
##
## 0 1
## 0 906 36
## 1 76 125
chisq.test(gil)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: gil
## X-squared = 461.52, df = 1, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến Heart_disease không độc lập với nhau.
ts2 <- table(datask$Diabetes, datask$Heart_disease)
ts2
##
## 0 1
## 0 906 36
## 1 76 125
ts22 <- prop.table(ts2)
addmargins(ts22)
##
## 0 1 Sum
## 0 0.79265092 0.03149606 0.82414698
## 1 0.06649169 0.10936133 0.17585302
## Sum 0.85914261 0.14085739 1.00000000
Ta thấy:
Có 36 người bệnh tim không mắc bệnh tiểu đường chiếm 3.15% Có 125 người bệnh tim mắc bệnh tiểu đường chiếm 10.94% Có 906 người không bệnh tim không mắc bệnh tiểu đường chiếm 79.27% Có 76 người không bệnh tim không mắc bệnh tiểu đường chiếm 6.65%
epitab(ts2, method = "riskratio")
## $tab
##
## 0 p0 1 p1 riskratio lower upper p.value
## 0 906 0.9617834 36 0.03821656 1.0000 NA NA NA
## 1 76 0.3781095 125 0.62189055 16.2728 11.6056 22.81693 3.442646e-79
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, rủi ro tương đối của bệnh tiểu đường theo bệnh tim là 13.18097. Tức là, tỉ lệ bệnh tiểu đường theo người mắc bệnh tim cao hơn tỉ lệ bệnh tiểu đường theo người không mắc bệnh tim cao. giá trị p-value = 4.209847e-128 cho thấy có ý nghĩa thống kê thống kê.
epitab(ts2, method = "oddsratio")
## $tab
##
## 0 p0 1 p1 oddsratio lower upper p.value
## 0 906 0.92260692 36 0.2236025 1.00000 NA NA NA
## 1 76 0.07739308 125 0.7763975 41.39254 26.70008 64.16993 3.442646e-79
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, tỷ lệ chênh lệch của bệnh tiểu đường theo bệnh tim là 117.5893. Tức là, tỉ lệ bệnh tiểu đường theo người mắc bệnh tim cao hơn tỉ lệ bệnh tiểu đường theo người không mắc bệnh tim cao. giá trị p-value = 4.209847e-128 cho thấy có ý nghĩa thống kê thống kê.
Giả thuyết:
H0: Biến Diabetes và biến Smoking_history độc lập với nhau
H1: Biến Diabetes và biến Smoking_history không độc lập với nhau
gil <- table (datask$Diabetes, datask$Smoking_history)
gil
##
## 0 1
## 0 878 64
## 1 21 180
chisq.test(gil)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: gil
## X-squared = 670.8, df = 1, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến Smoking_history không độc lập với nhau.
ts3 <- table(datask$Diabetes, datask$Smoking_history)
ts3
##
## 0 1
## 0 878 64
## 1 21 180
ts33 <- prop.table(ts3)
addmargins(ts33)
##
## 0 1 Sum
## 0 0.7681540 0.0559930 0.8241470
## 1 0.0183727 0.1574803 0.1758530
## Sum 0.7865267 0.2134733 1.0000000
Ta thấy:
Có 64 người hút thuốc không mắc bệnh tiểu đường chiếm 5.6% Có 180 người hút thuốc mắc bệnh tiểu đường chiếm 15.75% Có 878 người không hút thuốc không mắc bệnh tiểu đường chiếm 76.81% Có 21 người không hút thuốc không mắc bệnh tiểu đường chiếm 1.84% ó 76 người không bệnh tim không mắc bệnh tiểu đường chiếm 6.65%
epitab(ts3, method = "riskratio")
## $tab
##
## 0 p0 1 p1 riskratio lower upper p.value
## 0 878 0.9320594 64 0.06794055 1.00000 NA NA NA
## 1 21 0.1044776 180 0.89552239 13.18097 10.35615 16.77631 4.209847e-128
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, rủi ro tương đối của bệnh tiểu đường theo hút thuốc là 13.18097. Tức là, tỉ lệ bệnh tiểu đường theo người hút thuốc cao hơn tỉ lệ bệnh tiểu đường theo người không hút thuốc. giá trị p-value = 4.209847e-128 cho thấy có ý nghĩa thống kê thống kê.
epitab(ts3, method = "oddsratio")
## $tab
##
## 0 p0 1 p1 oddsratio lower upper p.value
## 0 878 0.97664071 64 0.2622951 1.0000 NA NA NA
## 1 21 0.02335929 180 0.7377049 117.5893 70.02609 197.4584 4.209847e-128
##
## $measure
## [1] "wald"
##
## $conf.level
## [1] 0.95
##
## $pvalue
## [1] "fisher.exact"
Nhìn vào kết quả ta thấy, tỷ lệ chênh lệch của bệnh tiểu đường theo hút thuốc là 117.5893. Tức là, tỉ lệ bệnh tiểu đường theo người hút thuốc cao hơn tỉ lệ bệnh tiểu đường theo người không hút thuốc. giá trị p-value = 4.209847e-128 cho thấy có ý nghĩa thống kê thống kê. ### Biến Diabetes và biến Hypertension
Giả thuyết:
H0: Biến Diabetes và biến Hypertension độc lập với nhau
H1: Biến Diabetes và biến Hypertension không độc lập với nhau
gil <- table (datask$Diabetes, datask$Hypertension)
gil
##
## 0 1
## 0 864 78
## 1 18 183
chisq.test(gil)
##
## Pearson's Chi-squared test with Yates' continuity correction
##
## data: gil
## X-squared = 639.29, df = 1, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến Hypertension không độc lập với nhau.
ts4 <- table(datask$Diabetes, datask$Hypertension)
ts4
##
## 0 1
## 0 864 78
## 1 18 183
ts44 <- prop.table(ts4)
addmargins(ts44)
##
## 0 1 Sum
## 0 0.75590551 0.06824147 0.82414698
## 1 0.01574803 0.16010499 0.17585302
## Sum 0.77165354 0.22834646 1.00000000
Ta thấy:
Có 78 người mắc huyết áp không mắc bệnh tiểu đường chiếm 6.82% Có 183 người mắc huyết áp mắc bệnh tiểu đường chiếm 16.01% Có 864 người không mắc huyết áp không mắc bệnh tiểu đường chiếm 75.59% Có 18 người không mắc huyết áp không mắc bệnh tiểu đường chiếm 1.57%
Giả thuyết:
H0: Biến Diabetes và biến Age độc lập với nhau
H1: Biến Diabetes và biến Age không độc lập với nhau
gil <- table (datask$Diabetes, datask$Age)
gil
##
## 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26
## 0 8 3 6 4 5 3 1 4 35 39 36 42 41 54 36 34 36 32 28 29 21 18 19 18 15
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51
## 0 18 15 18 17 11 10 15 12 8 13 12 21 9 5 6 7 7 4 2 7 1 8 4 5 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 1 1 1 5 5 4 4 0 4 6
##
## 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76
## 0 5 4 6 5 7 3 7 4 5 4 5 2 1 4 5 7 2 2 3 4 1 3 3 2 10
## 1 13 4 4 2 4 4 1 5 10 3 4 2 9 8 9 9 8 2 13 4 2 5 1 4 6
##
## 77 78 79 80
## 0 2 1 4 28
## 1 7 7 2 17
chisq.test(gil)
## Warning in chisq.test(gil): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: gil
## X-squared = 592.13, df = 78, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến Age không độc lập với nhau.
Giả thuyết:
H0: Biến Diabetes và biến Blood_glucose_level độc lập với nhau
H1: Biến Diabetes và biến Blood_glucose_level không độc lập với nhau
gil <- table (datask$Diabetes, datask$Blood_glucose_level)
gil
##
## 80 85 90 100 126 130 140 145 155 158 159 160 200 280 300
## 0 199 229 27 27 24 38 28 29 27 31 33 30 220 0 0
## 1 0 0 0 0 22 33 22 18 51 0 30 18 3 2 2
chisq.test(gil)
## Warning in chisq.test(gil): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: gil
## X-squared = 452.01, df = 14, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến Blood_glucose_level không độc lập với nhau.
Giả thuyết:
H0: Biến Diabetes và biến BMI độc lập với nhau
H1: Biến Diabetes và biến BMI không độc lập với nhau
gil <- table (datask$Diabetes, datask$BMI)
gil
##
## 13.57 13.79 13.99 14.69 14.82 14.9 15.06 15.1 15.12 15.16 15.26 15.29 15.39
## 0 1 1 1 1 1 1 1 1 1 1 1 1 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 15.48 15.57 15.6 15.7 15.8 15.81 15.88 15.94 16.05 16.1 16.29 16.39 16.41
## 0 1 1 1 2 1 1 1 1 1 1 1 3 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 16.59 16.69 16.76 16.83 16.94 16.96 16.97 17.09 17.1 17.11 17.13 17.14
## 0 1 1 1 2 1 1 1 2 3 2 3 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 17.23 17.24 17.28 17.33 17.35 17.43 17.44 17.46 17.47 17.52 17.6 17.61
## 0 1 3 2 5 1 2 1 2 1 1 2 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 17.62 17.65 17.67 17.7 17.72 17.73 17.75 17.78 17.8 17.81 17.82 17.83 17.9
## 0 1 1 1 4 1 1 1 1 2 1 1 1 2
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 17.92 17.96 17.97 17.98 18.02 18.03 18.05 18.09 18.13 18.14 18.16 18.19
## 0 1 2 4 1 3 1 1 1 1 4 1 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 18.2 18.22 18.25 18.27 18.29 18.3 18.37 18.4 18.42 18.48 18.49 18.55 18.6
## 0 8 3 2 4 2 3 1 2 1 5 2 1 3
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 18.62 18.65 18.66 18.68 18.7 18.72 18.75 18.8 18.82 18.83 18.84 18.9 18.92
## 0 1 5 4 3 6 3 4 3 2 1 1 3 2
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 18.95 18.98 19 19.02 19.06 19.08 19.09 19.13 19.15 19.16 19.19 19.21 19.26
## 0 2 2 4 1 5 1 4 1 2 2 3 1 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 19.27 19.3 19.31 19.34 19.35 19.37 19.39 19.41 19.44 19.45 19.51 19.53 19.6
## 0 1 5 0 4 2 4 4 1 3 1 1 3 6
## 1 0 0 1 0 0 0 0 0 0 0 0 0 0
##
## 19.63 19.64 19.68 19.7 19.71 19.72 19.73 19.77 19.79 19.82 19.85 19.88
## 0 2 2 2 5 3 1 1 3 2 3 1 2
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 19.89 19.9 19.91 19.92 19.94 19.95 19.97 19.99 20 20.01 20.02 20.03 20.06
## 0 4 2 3 2 6 2 4 1 4 4 1 2 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 20.08 20.09 20.1 20.11 20.12 20.16 20.17 20.18 20.19 20.21 20.23 20.24 20.3
## 0 1 7 4 1 4 5 2 3 6 3 3 3 8
## 1 0 0 0 0 0 0 0 0 1 0 0 0 0
##
## 20.31 20.34 20.36 20.37 20.38 20.41 20.43 20.45 20.47 20.48 20.5 20.53
## 0 3 3 3 2 6 2 1 4 1 4 6 4
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 20.56 20.58 20.6 20.63 20.64 20.67 20.7 20.71 20.73 20.74 20.75 20.8 20.85
## 0 1 2 6 2 2 1 4 1 4 5 5 9 6
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 20.87 20.89 20.9 20.91 20.97 20.98 21.02 21.03 21.04 21.06 21.08 21.1 21.11
## 0 2 5 8 5 5 9 5 3 1 9 2 4 5
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 21.12 21.13 21.16 21.19 21.2 21.21 21.22 21.23 21.24 21.25 21.27 21.29 21.3
## 0 1 5 4 1 6 3 10 1 1 3 2 2 5
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 21.33 21.34 21.37 21.38 21.41 21.42 21.44 21.46 21.48 21.49 21.5 21.53
## 0 2 1 5 9 6 2 3 2 5 3 4 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0
##
## 21.54 21.55 21.6 21.61 21.62 21.63 21.64 21.65 21.67 21.7 21.71 21.76 21.78
## 0 4 1 3 4 4 7 3 2 3 11 5 1 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 21.83 22.06 22.13 22.17 22.19 22.29 22.3 22.34 22.35 22.48 22.6 22.67 22.71
## 0 1 0 0 1 2 1 1 1 1 1 1 0 0
## 1 0 1 3 0 0 0 0 0 0 0 0 3 3
##
## 22.95 22.96 23.04 23.05 23.25 23.35 23.49 23.55 23.56 23.59 23.71 23.75
## 0 1 0 1 1 0 1 1 1 1 2 1 1
## 1 0 3 0 0 1 0 0 0 0 0 0 0
##
## 23.76 23.86 23.9 23.93 23.96 24 24.03 24.1 24.18 24.19 24.29 24.3 24.36
## 0 1 1 1 1 1 1 1 1 1 1 1 1 1
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 24.41 24.48 24.62 24.65 24.66 24.69 24.78 24.81 24.88 24.93 25.02 25.11
## 0 1 1 1 1 4 1 1 0 1 1 2 1
## 1 0 0 0 0 2 4 0 1 0 0 0 0
##
## 25.15 25.18 25.19 25.2 25.22 25.31 25.33 25.4 25.46 25.55 25.69 25.77 25.78
## 0 3 1 1 0 0 1 1 1 1 0 1 1 2
## 1 0 2 0 3 1 0 0 0 0 2 0 0 1
##
## 25.8 25.84 26.02 26.04 26.08 26.1 26.35 26.39 26.4 26.44 26.45 26.47 26.53
## 0 2 1 2 1 1 1 1 1 1 1 1 1 2
## 1 0 0 0 0 0 0 0 0 0 0 0 0 0
##
## 26.57 26.61 26.62 26.63 26.7 26.71 26.78 26.79 26.96 27.01 27.07 27.09
## 0 1 1 1 0 1 0 1 1 1 1 1 0
## 1 0 0 0 2 0 1 0 1 0 0 0 1
##
## 27.12 27.14 27.32 27.4 27.45 27.5 27.56 27.57 27.59 27.63 27.68 27.7 27.75
## 0 1 1 92 1 1 1 0 0 1 1 3 1 2
## 1 2 0 62 0 0 0 4 2 0 0 0 0 0
##
## 27.76 27.77 27.78 27.8 27.82 27.86 27.93 27.97 28.06 28.12 28.16 28.22
## 0 1 0 0 1 1 1 1 0 0 1 1 1
## 1 0 1 1 0 0 0 0 2 4 0 0 0
##
## 28.25 28.27 28.32 28.35 28.37 28.45 28.58 28.73 28.87 28.89 29.05 29.06
## 0 1 1 0 0 1 1 0 1 0 1 0 1
## 1 0 0 1 1 0 0 1 0 2 0 2 0
##
## 29.14 29.3 29.34 29.39 29.4 29.41 29.53 29.59 29.6 29.63 29.93 29.95 30
## 0 2 1 1 1 1 1 1 1 2 0 2 1 2
## 1 0 0 0 0 0 0 0 0 0 3 0 0 0
##
## 30.22 30.36 30.37 30.41 30.5 30.55 30.68 30.71 30.84 30.95 31.13 31.16 31.2
## 0 1 1 1 1 1 1 1 1 0 1 0 1 1
## 1 0 0 0 0 0 0 0 0 1 0 2 0 0
##
## 31.21 31.57 31.62 31.7 31.75 31.86 31.9 31.93 31.94 32.02 32.05 32.12 32.2
## 0 1 1 0 2 1 1 0 2 0 1 3 0 1
## 1 0 0 3 1 2 0 1 0 3 0 0 1 0
##
## 32.23 32.31 32.36 32.37 32.4 32.6 32.61 32.81 32.87 32.92 33.1 33.21 33.22
## 0 2 1 1 1 0 1 1 1 0 1 0 2 1
## 1 0 2 1 0 1 0 0 0 2 0 1 0 0
##
## 33.36 33.64 33.76 33.83 34.1 34.18 34.2 34.66 35.14 35.15 35.24 35.35 35.44
## 0 1 1 1 1 0 2 1 1 0 1 1 1 0
## 1 0 3 0 0 1 0 0 0 4 0 0 0 1
##
## 35.49 35.55 35.93 35.98 36.27 36.49 36.52 36.54 36.73 36.96 37.26 37.35
## 0 1 1 1 0 1 0 0 1 1 1 1 1
## 1 0 0 0 1 0 1 3 0 0 0 0 0
##
## 37.56 37.59 38.08 38.28 38.5 38.53 38.76 39.13 39.27 39.29 39.3 39.36 39.46
## 0 2 1 1 0 0 0 0 1 0 1 1 0 1
## 1 0 0 0 3 2 2 2 0 2 0 0 1 0
##
## 39.68 40.9 41.24 41.36 42.74 43.1 43.58 44 44.06 44.23 46.28 50.13 50.3
## 0 0 1 1 0 0 0 0 1 1 0 0 1 0
## 1 3 0 0 3 3 1 3 0 0 3 2 0 1
##
## 51.61 51.76 52.23 55.61 56.43 60.29 63.48
## 0 0 1 0 1 1 0 0
## 1 3 0 2 0 0 4 1
chisq.test(gil)
## Warning in chisq.test(gil): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: gil
## X-squared = 827.12, df = 475, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến BMI không độc lập với nhau.
Giả thuyết:
H0: Biến Diabetes và biến HbA1c_level độc lập với nhau
H1: Biến Diabetes và biến HbA1c_level không độc lập với nhau
gil <- table (datask$Diabetes, datask$HbA1c_level)
gil
##
## 3.5 4 4.5 4.8 5 5.7 5.8 6 6.1 6.2 6.5 6.6 6.8 7 7.5 8.2 8.8 9
## 0 79 89 62 64 74 82 78 68 85 82 84 95 0 0 0 0 0 0
## 1 0 0 0 0 0 0 0 0 1 2 4 35 12 21 35 31 40 20
chisq.test(gil)
## Warning in chisq.test(gil): Chi-squared approximation may be incorrect
##
## Pearson's Chi-squared test
##
## data: gil
## X-squared = 919.88, df = 17, p-value < 2.2e-16
Vì p_value = 2.2e-16 < 0.05 nên ta chấp nhận giả thuyết H1. Nghĩa là biến Diabetes và biến HbA1c_level không độc lập với nhau.
Vậy các biến trong bộ dữ liệu điều không độc lập với biến định tính phụ thuộc Diabetes. Hay nói cách khác biến định tính phụ thuộc Diabetes có liện hệ với các biến còn lại.
fit1 <- glm(Diabetes ~ datask$Gender + datask$Heart_disease + datask$Smoking_history + datask$Age + datask$Blood_glucose_level + datask$BMI + datask$HbA1c_level, family = binomial(link = "logit"), data = datask)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(fit1)
##
## Call:
## glm(formula = Diabetes ~ datask$Gender + datask$Heart_disease +
## datask$Smoking_history + datask$Age + datask$Blood_glucose_level +
## datask$BMI + datask$HbA1c_level, family = binomial(link = "logit"),
## data = datask)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -72.812315 12.804354 -5.687 1.30e-08 ***
## datask$Gender 0.909316 0.384760 2.363 0.018111 *
## datask$Heart_disease 0.777169 0.419137 1.854 0.063709 .
## datask$Smoking_history 0.907058 0.589553 1.539 0.123914
## datask$Age 0.015087 0.013533 1.115 0.264919
## datask$Blood_glucose_level 0.029907 0.007919 3.776 0.000159 ***
## datask$BMI 0.084429 0.029952 2.819 0.004821 **
## datask$HbA1c_level 9.520211 1.886698 5.046 4.51e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1063.10 on 1142 degrees of freedom
## Residual deviance: 178.99 on 1135 degrees of freedom
## AIC: 194.99
##
## Number of Fisher Scoring iterations: 11
# Kiểm định sự phù hợp của mô hình bằng cách tính giá trị Prob(LR statistic)
lr_test <- anova(fit1, test = "Chisq")
p_value <- lr_test$Pr[2]
p_value
## [1] 0.02764373
Kiểm định sự phù hợp của mô hình:
Với P-value = Prob(LR) < 0 chấp nhận giả thuyết \(H_1\) nên mô hình phù hợp
# Giá trị BrierScore
BrierScore(fit1)
## [1] 0.02297696
# Ma trận nhầm lẫn
predictions <- predict(fit1, newdata = datask, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(datask$Diabetes, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 929 29
## 1 13 172
##
## Accuracy : 0.9633
## 95% CI : (0.9507, 0.9734)
## No Information Rate : 0.8241
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.8691
##
## Mcnemar's Test P-Value : 0.02064
##
## Sensitivity : 0.9862
## Specificity : 0.8557
## Pos Pred Value : 0.9697
## Neg Pred Value : 0.9297
## Prevalence : 0.8241
## Detection Rate : 0.8128
## Detection Prevalence : 0.8381
## Balanced Accuracy : 0.9210
##
## 'Positive' Class : 0
##
fit2 <- glm(Diabetes ~ datask$Gender + datask$Heart_disease + datask$Smoking_history + datask$Age + datask$Blood_glucose_level + datask$BMI + datask$HbA1c_level, family = binomial(link = "probit"), data = datask)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(fit2)
##
## Call:
## glm(formula = Diabetes ~ datask$Gender + datask$Heart_disease +
## datask$Smoking_history + datask$Age + datask$Blood_glucose_level +
## datask$BMI + datask$HbA1c_level, family = binomial(link = "probit"),
## data = datask)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -33.429048 5.392466 -6.199 5.67e-10 ***
## datask$Gender 0.503990 0.213806 2.357 0.0184 *
## datask$Heart_disease 0.402583 0.238120 1.691 0.0909 .
## datask$Smoking_history 0.385703 0.315067 1.224 0.2209
## datask$Age 0.015108 0.007206 2.096 0.0360 *
## datask$Blood_glucose_level 0.016208 0.004094 3.959 7.54e-05 ***
## datask$BMI 0.041127 0.016601 2.477 0.0132 *
## datask$HbA1c_level 4.218974 0.793519 5.317 1.06e-07 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1063.1 on 1142 degrees of freedom
## Residual deviance: 184.3 on 1135 degrees of freedom
## AIC: 200.3
##
## Number of Fisher Scoring iterations: 12
# Kiểm định sự phù hợp của mô hình bằng cách tính giá trị Prob(LR statistic)
lr_test <- anova(fit2, test = "Chisq")
p_value <- lr_test$Pr[2]
p_value
## [1] 0.02764373
Kiểm định sự phù hợp của mô hình:
Với P-value = Prob(LR) < 0 chấp nhận giả thuyết \(H_1\) nên mô hình phù hợp
# Giá trị BrierScore
BrierScore(fit2)
## [1] 0.02452847
# Ma trận nhầm lẫn
predictions <- predict(fit2, newdata = datask, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(datask$Diabetes, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 929 27
## 1 13 174
##
## Accuracy : 0.965
## 95% CI : (0.9526, 0.9749)
## No Information Rate : 0.8241
## P-Value [Acc > NIR] : < 2e-16
##
## Kappa : 0.8759
##
## Mcnemar's Test P-Value : 0.03983
##
## Sensitivity : 0.9862
## Specificity : 0.8657
## Pos Pred Value : 0.9718
## Neg Pred Value : 0.9305
## Prevalence : 0.8241
## Detection Rate : 0.8128
## Detection Prevalence : 0.8364
## Balanced Accuracy : 0.9259
##
## 'Positive' Class : 0
##
fit3 <- glm(Diabetes ~ datask$Gender + datask$Heart_disease + datask$Smoking_history + datask$Age + datask$Blood_glucose_level + datask$BMI + datask$HbA1c_level, family = binomial(link = "cloglog"), data = datask)
## Warning: glm.fit: fitted probabilities numerically 0 or 1 occurred
summary(fit3)
##
## Call:
## glm(formula = Diabetes ~ datask$Gender + datask$Heart_disease +
## datask$Smoking_history + datask$Age + datask$Blood_glucose_level +
## datask$BMI + datask$HbA1c_level, family = binomial(link = "cloglog"),
## data = datask)
##
## Coefficients:
## Estimate Std. Error z value Pr(>|z|)
## (Intercept) -61.405644 9.999622 -6.141 8.21e-10 ***
## datask$Gender 0.672750 0.295850 2.274 0.02297 *
## datask$Heart_disease 0.563187 0.329852 1.707 0.08775 .
## datask$Smoking_history 0.834837 0.482645 1.730 0.08368 .
## datask$Age 0.007770 0.010838 0.717 0.47346
## datask$Blood_glucose_level 0.022864 0.005341 4.281 1.86e-05 ***
## datask$BMI 0.066624 0.023047 2.891 0.00384 **
## datask$HbA1c_level 8.089176 1.466366 5.516 3.46e-08 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## (Dispersion parameter for binomial family taken to be 1)
##
## Null deviance: 1063.10 on 1142 degrees of freedom
## Residual deviance: 175.15 on 1135 degrees of freedom
## AIC: 191.15
##
## Number of Fisher Scoring iterations: 15
# Kiểm định sự phù hợp của mô hình bằng cách tính giá trị Prob(LR statistic)
lr_test <- anova(fit3, test = "Chisq")
p_value <- lr_test$Pr[2]
p_value
## [1] 0.02764373
Kiểm định sự phù hợp của mô hình:
Với P-value = Prob(LR) < 0 chấp nhận giả thuyết \(H_1\) nên mô hình phù hợp
# Giá trị BrierScore
BrierScore(fit3)
## [1] 0.02252755
# Ma trận nhầm lẫn
predictions <- predict(fit3, newdata = datask, type = "response")
predicted_classes <- ifelse(predictions > 0.5, "1", "0")
predictions1<-factor(predicted_classes, levels = c("0","1"))
actual<- factor(datask$Diabetes, labels = c("0","1"))
confusionMatrix(table(predictions1, actual))
## Confusion Matrix and Statistics
##
## actual
## predictions1 0 1
## 0 934 28
## 1 8 173
##
## Accuracy : 0.9685
## 95% CI : (0.9567, 0.9778)
## No Information Rate : 0.8241
## P-Value [Acc > NIR] : < 2.2e-16
##
## Kappa : 0.8869
##
## Mcnemar's Test P-Value : 0.001542
##
## Sensitivity : 0.9915
## Specificity : 0.8607
## Pos Pred Value : 0.9709
## Neg Pred Value : 0.9558
## Prevalence : 0.8241
## Detection Rate : 0.8171
## Detection Prevalence : 0.8416
## Balanced Accuracy : 0.9261
##
## 'Positive' Class : 0
##
| Mô hình | AIC | Deviance | Brier Score | Độ chính xác | Độ nhạy | Độ đặc hiệu |
|---|---|---|---|---|---|---|
| Logit | 194.99 | 178.99 | 0.02297696 | 0.9633 | 0.9862 | 0.8557 |
| Probit | 200.3 | 184.3 | 0.02452847 | 0.965 | 0.9862 | 0.8657 |
| Cloglog | 191.15 | 175.15 | 0.02252755 | 0.9685 | 0.9915 | 0.8607 |
| Lựa chọn | MH3 | MH3 | MH3 | MH3 | MH3 | MH2 |
Từ kết quả thu được, mô hình Cloglog là mô hình thỏa mãn các tiêu chi đánh giá nhất trong 3 mô hình đề xuất. Do đó, mô hình Cloglog là mô hình tối ưu nhất.
Nhìn vào kết quả mô hình ta thấy:
Hệ số chặn là -61.405644, có nghĩa là khi tất cả các biến độc lập bằng không, xác suất chất lượng sữa là \(\phi\)(-61.405644), trong đó \(\phi\) là hàm phân phối chuẩn tích lũy.
Các Pr(>|z|) của các biến Gender, Blood_glucose_level, BMI và HbA1c_level có hệ số đều nhỏ hơn 0.05, cho thấy rằng 8 biến đưa vào mô hình hồi quy để phân tích thì 4 biến có ý nghĩa thống kê.
Hệ số Gender là 0.672750, có nghĩa là khi giới tính nam sang nữ tăng lên một đơn vị (từ 0 sang 1), xác suất bệnh tiểu đường tăng lên \(\phi\)(0.672750) đơn vị chuẩn hoá, giữ nguyên các biến khác.
Hệ số Blood_glucose_level là 0.022864, có nghĩa là khi lượng đường trong máu tăng lên một đơn vị, xác suất bệnh tiểu đường tăng lên \(\phi\)(0.022864) đơn vị chuẩn hoá, giữ nguyên các biến khác.
Hệ số BMI là 0.066624, có nghĩa là khi lượng mỡ trong cơ thể tăng lên một đơn vị, xác suất bệnh tiểu đường tăng lên \(\phi\)(0.066624) đơn vị chuẩn hoá, giữ nguyên các biến khác.
Hệ số HbA1c_level là 8.089176, có nghĩa là khi lượng đường huyết tăng lên một đơn vị, xác suất bệnh tiểu đường tăng lên \(\phi\)(8.089176) đơn vị chuẩn hoá, giữ nguyên các biến khác.