XÁC ĐỊNH MÔ HÌNH BMA

Đây là một ví dụ để thử với Rmarkdown. Nếu muốn viết nghiêng thì viết như thế này, còn nếu muốn tô đậm thì viết thế này tô đậm.

Trong phần này ta sẽ:

Phương trình thì viết như sau:
\(y = ax + b\)

nếu muốn căn giữa và xuống dòng thì làm như sau: \[ y = ax + b \]

Hoặc dẫn tài liệu tham khảo 1.

nếu muốn hiển thị đánh số thì làm như sau:

  1. Phân tích BMA
  2. Ước lượng mô hình
  3. Đánh giá kết quả
# Đọc dữ liệu từ file CSV
fa <- read.csv("D:/fage.csv")

# Xem cấu trúc và tóm tắt dữ liệu
str(fa)
## 'data.frame':    100 obs. of  26 variables:
##  $ id         : int  1 2 3 4 5 6 7 8 9 10 ...
##  $ gender     : int  2 2 2 2 2 1 2 2 2 1 ...
##  $ age        : int  24 19 24 24 24 21 23 23 24 23 ...
##  $ level      : int  2 2 3 2 2 2 3 2 2 2 ...
##  $ job        : int  2 1 3 4 4 1 3 3 3 2 ...
##  $ mar        : int  1 1 1 1 3 1 1 1 1 1 ...
##  $ inc        : int  72 60 240 72 120 36 72 72 84 60 ...
##  $ spending   : int  6 3 10 5 10 4 10 8 2 5 ...
##  $ weight     : int  57 47 48 43 42 55 75 49 55 74 ...
##  $ height     : int  160 155 163 150 162 175 164 155 160 180 ...
##  $ skin       : int  2 5 1 3 4 2 1 3 3 4 ...
##  $ hair       : int  4 1 2 2 2 1 1 2 1 1 ...
##  $ style      : int  1 2 1 7 3 1 1 3 7 3 ...
##  $ life       : int  2 6 1 7 6 6 1 7 6 3 ...
##  $ fashion.age: int  25 15 24 20 15 30 21 18 24 18 ...
##  $ DG1        : int  26 20 27 26 27 23 30 24 27 25 ...
##  $ DG2        : int  25 22 22 22 22 23 25 23 24 23 ...
##  $ DG3        : int  26 22 25 26 26 21 30 25 23 24 ...
##  $ DG4        : int  24 22 26 23 30 27 29 30 33 23 ...
##  $ DG5        : int  23 21 23 22 19 22 24 22 24 22 ...
##  $ DG6        : int  24 24 24 25 25 27 25 26 26 21 ...
##  $ DG7        : int  28 26 25 30 23 30 28 28 27 22 ...
##  $ DG8        : int  24 23 27 30 20 24 27 25 35 25 ...
##  $ DG9        : int  30 27 23 24 31 26 25 32 34 22 ...
##  $ DG10       : int  22 21 25 24 20 23 27 25 24 21 ...
##  $ fage       : num  25.2 22.8 24.7 25.2 24.3 24.6 27 26 27.7 22.8 ...
summary(fa)
##        id             gender          age            level           job      
##  Min.   :  1.00   Min.   :1.00   Min.   :18.00   Min.   :1.00   Min.   :1.00  
##  1st Qu.: 25.75   1st Qu.:1.00   1st Qu.:24.00   1st Qu.:1.00   1st Qu.:2.00  
##  Median : 50.50   Median :2.00   Median :31.00   Median :2.00   Median :2.00  
##  Mean   : 50.50   Mean   :1.59   Mean   :38.45   Mean   :1.84   Mean   :2.32  
##  3rd Qu.: 75.25   3rd Qu.:2.00   3rd Qu.:53.50   3rd Qu.:2.00   3rd Qu.:3.00  
##  Max.   :100.00   Max.   :2.00   Max.   :75.00   Max.   :3.00   Max.   :5.00  
##       mar         inc            spending        weight          height     
##  Min.   :1   Min.   : 36.00   Min.   : 2.0   Min.   :40.00   Min.   :150.0  
##  1st Qu.:1   1st Qu.: 65.75   1st Qu.: 3.0   1st Qu.:49.75   1st Qu.:157.0  
##  Median :2   Median :120.00   Median : 4.0   Median :55.50   Median :160.0  
##  Mean   :2   Mean   :122.85   Mean   : 5.1   Mean   :55.56   Mean   :162.5  
##  3rd Qu.:3   3rd Qu.:170.00   3rd Qu.: 6.0   3rd Qu.:60.00   3rd Qu.:168.0  
##  Max.   :3   Max.   :300.00   Max.   :25.0   Max.   :75.00   Max.   :180.0  
##       skin           hair          style           life       fashion.age   
##  Min.   :1.00   Min.   :1.00   Min.   :1.00   Min.   :1.00   Min.   :15.00  
##  1st Qu.:3.00   1st Qu.:1.00   1st Qu.:2.00   1st Qu.:3.75   1st Qu.:23.00  
##  Median :3.00   Median :1.00   Median :3.00   Median :6.00   Median :31.00  
##  Mean   :3.04   Mean   :1.51   Mean   :4.25   Mean   :5.21   Mean   :38.22  
##  3rd Qu.:3.00   3rd Qu.:2.00   3rd Qu.:7.00   3rd Qu.:7.00   3rd Qu.:55.00  
##  Max.   :5.00   Max.   :4.00   Max.   :7.00   Max.   :8.00   Max.   :75.00  
##       DG1             DG2             DG3            DG4             DG5       
##  Min.   :19.00   Min.   :20.00   Min.   :17.0   Min.   :19.00   Min.   :19.00  
##  1st Qu.:24.00   1st Qu.:26.50   1st Qu.:25.0   1st Qu.:24.75   1st Qu.:23.00  
##  Median :33.00   Median :34.50   Median :31.0   Median :32.00   Median :30.00  
##  Mean   :39.39   Mean   :39.68   Mean   :38.8   Mean   :38.19   Mean   :37.80  
##  3rd Qu.:53.00   3rd Qu.:53.50   3rd Qu.:52.0   3rd Qu.:50.25   3rd Qu.:55.25  
##  Max.   :77.00   Max.   :75.00   Max.   :81.0   Max.   :80.00   Max.   :72.00  
##       DG6             DG7             DG8             DG9       
##  Min.   :17.00   Min.   :18.00   Min.   :18.00   Min.   :17.00  
##  1st Qu.:22.75   1st Qu.:27.00   1st Qu.:25.00   1st Qu.:24.00  
##  Median :29.00   Median :36.00   Median :35.50   Median :35.00  
##  Mean   :37.29   Mean   :42.82   Mean   :41.52   Mean   :40.87  
##  3rd Qu.:50.50   3rd Qu.:56.25   3rd Qu.:56.00   3rd Qu.:55.50  
##  Max.   :80.00   Max.   :82.00   Max.   :90.00   Max.   :80.00  
##       DG10            fage      
##  Min.   :20.00   Min.   :19.70  
##  1st Qu.:25.00   1st Qu.:24.57  
##  Median :30.00   Median :34.20  
##  Mean   :38.57   Mean   :39.49  
##  3rd Qu.:55.00   3rd Qu.:52.25  
##  Max.   :80.00   Max.   :76.70
attach(fa)
names(fa)
##  [1] "id"          "gender"      "age"         "level"       "job"        
##  [6] "mar"         "inc"         "spending"    "weight"      "height"     
## [11] "skin"        "hair"        "style"       "life"        "fashion.age"
## [16] "DG1"         "DG2"         "DG3"         "DG4"         "DG5"        
## [21] "DG6"         "DG7"         "DG8"         "DG9"         "DG10"       
## [26] "fage"
#thiết laapk mô hình bma
library(BMA)
## Warning: package 'BMA' was built under R version 4.3.3
## Loading required package: survival
## Warning: package 'survival' was built under R version 4.3.3
## Loading required package: leaps
## Warning: package 'leaps' was built under R version 4.3.3
## Loading required package: robustbase
## Warning: package 'robustbase' was built under R version 4.3.3
## 
## Attaching package: 'robustbase'
## The following object is masked from 'package:survival':
## 
##     heart
## Loading required package: inline
## Warning: package 'inline' was built under R version 4.3.3
## Loading required package: rrcov
## Warning: package 'rrcov' was built under R version 4.3.3
## Scalable Robust Estimators with High Breakdown Point (version 1.7-6)
newdata =data.frame(fage,age,mar,level,hair,spending,life,style,gender) 
newdata=na.omit(newdata) 
yvar = newdata[,1] 
xvars = newdata[,-1] 
bma = bicreg(xvars, yvar, strict=FALSE, OR=20) 
summary(bma)
## 
## Call:
## bicreg(x = xvars, y = yvar, strict = FALSE, OR = 20)
## 
## 
##   23  models were selected
##  Best  5  models (cumulative posterior probability =  0.6339 ): 
## 
##            p!=0    EV       SD       model 1    model 2    model 3    model 4  
## Intercept  100.0   3.60835  2.08256     3.9913     2.7630     3.9967     2.8748
## age        100.0   0.91342  0.04210     0.9532     0.8859     0.9036     0.9415
## mar         53.5   0.66418  0.74549      .         1.2446     1.1376      .    
## level       15.0  -0.14586  0.46941      .          .          .          .    
## hair       100.0   1.46974  0.36018     1.4306     1.5136     1.4510     1.4855
## spending    12.2  -0.01483  0.05745      .          .          .          .    
## life        10.3   0.01689  0.08033      .          .          .          .    
## style       42.3   0.11845  0.16605      .         0.2928      .         0.2649
## gender      92.0  -1.90661  0.88338    -2.0824    -2.1085    -2.3350    -1.8559
##                                                                                
## nVar                                      3          5          4          4   
## r2                                      0.965      0.968      0.966      0.966 
## BIC                                  -320.9122  -320.8641  -320.6347  -320.1314
## post prob                               0.166      0.162      0.144      0.112 
##            model 5  
## Intercept     6.8122
## age           0.8680
## mar           1.2971
## level        -1.1854
## hair          1.4754
## spending       .    
## life           .    
## style          .    
## gender       -2.0981
##                     
## nVar            5   
## r2            0.967 
## BIC        -318.4936
## post prob     0.049

nhận xét:

imageplot.bma(bma)

nhận xét:

đây là biểu đồ bma

m=lm(fage~age,data=fa)
summary(m)
## 
## Call:
## lm(formula = fage ~ age, data = fa)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -9.4466 -1.9410 -0.2626  2.1135 12.1553 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  2.10716    0.90106   2.339   0.0214 *  
## age          0.97232    0.02133  45.584   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.732 on 98 degrees of freedom
## Multiple R-squared:  0.955,  Adjusted R-squared:  0.9545 
## F-statistic:  2078 on 1 and 98 DF,  p-value: < 2.2e-16

  1. Tìm mô hình BMA theo phương pháp trung bình Bayes.↩︎