Tổng quan về bộ dữ liệu

library(xlsx)
vht <- read.xlsx('C:/Users/Dell/OneDrive/UFM/R/data2.xlsx', header = T, sheetIndex = 1)
str(vht)
## 'data.frame':    120 obs. of  8 variables:
##  $ TIME: Date, format: "2013-01-01" "2013-02-01" ...
##  $ FXR : num  27827 28218 28042 27152 26245 ...
##  $ M2  : num  3766292 3786543 3842421 3866254 3899158 ...
##  $ VNI : num  480 475 491 475 518 ...
##  $ GOLD: num  1663 1580 1596 1477 1386 ...
##  $ OIL : num  97.4 91.8 97.2 93.1 91.7 ...
##  $ CPI : num  135 137 137 137 137 ...
##  $ FDI : num  0.42 0.63 1.65 1.05 0.83 1.12 0.95 0.91 1.07 0.96 ...

Nguồn gốc: Bộ dữ liệu gồm một số yếu tố vĩ mô của nền kinh tế Việt Nam được tổng hợp từ các nguồn như Vietstock, Investing và IMF.

Gồm có 126 quan sát và 8 biến, cụ thể như sau:

  • TIME: Tháng và năm lấy dữ liệu, bắt đầu từ tháng 1-2013 đến tháng 6-2023

  • FXR: Dự trữ ngoại hối (ĐVT: Tỷ USD)

  • M2: Lượng cung tiền (ĐVT: Tỷ USD)

  • FDI: Tổng đầu tư trực tiếp từ nước ngoài (ĐVT: Tỷ USD)

  • VNI: Chỉ số giá chứng khoán VNINDEX (ĐVT: Điểm)

  • GOLD: Giá vàng (USD/ounce)

  • OIL: Giá dầu (USD/thùng)

  • CPI: Chỉ số giá tiêu dùng (%)

Phân tích dựa trên trực quan hóa dữ liệu

Biểu đồ phân phối mật độ CPI

vht %>% ggplot(aes(x = CPI)) + 
        geom_density(color = 'black', fill = 'pink')+ 
        xlim(120,200) + 
        ylim(0,0.04) +
        labs(title = 'Biểu đồ 1: Biểu đồ phân phối mật độ CPI', 
             x = 'Giá trị CPI', 
             y = 'Mật độ')

Từ biểu đồ 1, ta có thể nhận xét về phân phối mật độ giá trị CPI như sau:

  • Giá trị CPI phân phối không đều nhau

  • Mật độ cao nhất nằm ở mức CPI khoảng 145%

Biểu đồ phân phối mật độ dự trữ ngoại hối

vht %>% ggplot(aes(x = FXR)) + 
        geom_density(color = 'red', fill = 'skyblue')+ xlim(21000,120000) +
        labs(title = 'Biểu đồ 2: Biểu đồ phân phối mật độ FXR', 
             x = 'Giá trị FXR', 
             y = 'Mật độ')

Ta nhận xét biểu đồ 2 như sau:

  • Dữ trữ ngoại hối giữa các tháng phân phối không đều nhau

  • Có nhiều tháng có dự trữ ngoại hối nằm trong khoảng 35000-40000

  • Có ít tháng có dự trữ lớn hơn 100000

Biểu đồ phân phối mật độ cung tiền

vht %>% ggplot(aes(x = M2)) + 
        geom_density(color = 'red', fill = 'skyblue')+ xlim(3000000,17000000) +
        labs(title = 'Biểu đồ 3: Biểu đồ phân phối mật độ lượng cung tiền', 
             x = 'Lượng cung tiền', 
             y = 'Mật độ')

Biểu đồ 3 cho ta thấy được lượng cung tiền dường như phân bố theo giá trị của nó, giá trị thấp mật độ cao, giá trị cao mật độ thấp. Có nghĩa giá trị tỷ lệ nghịch với mật độ phân bố của nó.

Biểu đồ phân phối mật độ chỉ số giá chứng khoán VNINDEX

vht %>% ggplot(aes(x = VNI)) + 
        geom_density(color = 'red', fill = 'skyblue')+
        labs(title = 'Biểu đồ 4: Biểu đồ phân phối mật độ chỉ số giá chứng khoá', 
             x = 'VNINDEX', 
             y = 'Mật độ')

Từ biểu đồ trên, ta nhận xét như sau:

  • Chỉ số VNINDEX biến động liên tục nên dường như mỗi giá trị có mật độ rất thấp.

  • Mật độ cao nhất là khoảng 0.0014 nằm ở khoảng giá trị từ 550 - 600

Biểu đồ phân phối mật độ giá vàng

vht %>% ggplot(aes(x = GOLD)) + 
        geom_density(color = 'red', fill = 'skyblue')+
        labs(title = 'Biểu đồ 5: Biểu đồ phân phối mật độ giá vàng', 
             x = 'Giá vàng', 
             y = 'Mật độ')

Cũng như chỉ số giá chứng khoán, giá vàng biến động liên tục và dường như giá trị không trùng lặp nhau. Mật độ cao nhất là mức 0.002 rơi vào khoảng giá trị xung quanh 1250 USD/ounce.

Biểu đồ phân phối mật độ giá dầu

vht %>% ggplot(aes(x = OIL)) + 
        geom_density(color = 'red', fill = 'skyblue')+
        labs(title = 'Biểu đồ 6: Biểu đồ phân phối mật độ giá dầu', 
             x = 'Giá dầu', 
             y = 'Mật độ')

Giá dầu phân bố rộng ở nhiều mức giá và biến động liên tục, mật độ cao nhất nằm ở mức 0.018 ở mức giá 50 USD/thùng

Biểu đồ phân phối mật độ đầu tư trực tiếp từ nước ngoài

vht %>% ggplot(aes(x = FDI)) + 
        geom_density(color = 'red', fill = 'skyblue')+
        labs(title = 'Biểu đồ 6: Biểu đồ phân phối mật độ FDI', 
             x = 'FDI', 
             y = 'Mật độ')

Nhìn chung, mật độ phân bố FDI dày hơn so với mật độ của các yếu tố trước. Mật độ cao nhất nằm khoảng ở mức 0.7 rơi vào giá trị khoảng 1.5 tỷ USD. Và có xuất hiện giá trị trên 3 tỷ USD.

Phân tích mối quan hệ giữa giá vàng và giá dầu

vht$gold.coded <- case_when(vht$GOLD < 1400 ~ 'Thấp', vht$GOLD >= 1400 & vht$GOLD < 1700 ~ 'Trung Bình', vht$GOLD >= 1700 ~ 'Cao')

vht3 <- vht %>% group_by(gold.coded) %>% summarise(oil.avg = mean(OIL))

vht3 %>% ggplot(aes(x = gold.coded, y = oil.avg))+
        geom_col(fill = '#FF9999')+
        geom_text(aes(label = round(oil.avg,2)), vjust = 2, color = '#79CDCD') +
        labs(title = 'Biểu đồ 14: Mối quan hệ giữa giá vàng và giá dầu', 
             x ='Giá vàng',
             y = 'Giá dầu trung bình')

Ta có thể thấy ở mức giá vàng cao thì giá dầu trung bình cũng cao nhất, tuy nhiên ở mức giá vàng thấp thì có giá dầu lại cao hơn những tháng có giá vàng trung bình. Vậy nên ta chưa thể kết luận được mối quan hệ giữa giá vàng và giá dầu.

Phân tích mối quan hệ giữa giá vàng và chỉ số VNINDEX

vht4 <- vht %>% group_by(gold.coded) %>% summarise(vni.avg = mean(VNI))

vht4 %>% ggplot(aes(x = gold.coded, y = vni.avg))+
        geom_col(fill = '#79CDCD')+
        geom_text(aes(label = round(vni.avg,2)), vjust = 2, color = '#FF9999') +
        labs(title = 'Biểu đồ 15: Mối quan hệ giữa giá vàng và chỉ số VNINDEX', 
             x ='Giá vàng',
             y = 'Trung bình VNINDEX')

Ta thấy dường như chỉ số VNINDEX có tỷ lệ thuận với giá vàng, ở những tháng có giá vàng cao thì chỉ số VNINDEX cũng cao và ngược lại.

Phân tích mối quan hệ giữa giá vàng với chỉ số CPI

vht5 <- vht %>% group_by(gold.coded) %>% summarise(cpi.avg = mean(CPI))

vht5 %>% ggplot(aes(x = gold.coded, y = cpi.avg))+
        geom_col(fill = '#79CDCD')+
        geom_text(aes(label = round(cpi.avg,2)), vjust = 2, color = '#FF9999') +
        labs(title = 'Biểu đồ 16: Mối quan hệ giữa giá vàng và chỉ số CPI', 
             x ='Giá vàng',
             y = 'Trung bình CPI')

Giá vàng dường như tỷ lệ thuận với chỉ số CPI

vht$m2.coded <- case_when(vht$M2 < 5000000 ~ 'Thấp',vht$M2 >= 5000000 & vht$M2<10000000 ~ 'Trung bình', vht$M2 > 10000000 & vht$M2 < 13000000 ~ 'Cao',vht$M2 > 13000000 ~ 'Rất cao')


vht6 <- vht %>% group_by(m2.coded) %>% summarise(fdi_avg = mean(FDI))
vht6 %>% ggplot(aes(x = m2.coded, y = fdi_avg))+
          geom_col() +
          geom_text(aes(label = round(fdi_avg,2)),vjust = 2, color = 'blue') +
          labs(title = 'Biểu đồ 17: Mối quan hệ giữa lượng cung tiền và FDI', 
               x ='Lượng cung tiền',
               y = 'Trung bình FDI')

Xem xét mối quan hệ giữa giá vàng với lượng cung tiền

vht %>% ggplot(aes(x = m2.coded, fill = gold.coded)) +
        geom_bar() +
        labs(title = 'Biểu đồ 18: Mối quan hệ giữa giá vàng và lượng cung tiền', 
             x = 'Lượng cung tiền')

Đếm số quan sát của giá vàng được mã hóa

vht %>% group_by(gold.coded) %>% summarise(n_gold = n()) %>%
        ggplot(aes(x = '', y = n_gold, fill = gold.coded))+
        geom_col() + 
        coord_polar('y')+ 
        labs(title = 'Biểu đồ 19: Số lượng quan sát theo các mức giá vàng',
             x= '', 
             y = '')

Đếm số quan sát của lượng cung tiền được mã hóa

vht %>% group_by(m2.coded) %>% summarise(n_m2 = n()) %>%
        ggplot(aes(x = '', y = n_m2, fill = m2.coded))+
        geom_col() + 
        coord_polar('y')+ 
        labs(title = 'Biểu đồ 20: Số lượng quan sát theo các lượng cung tiền khác nhau', 
             x= '', 
             y = '')