MÔ TẢ SỐ LIỆU
Số liệu được sử dụng là doanh thu thuần của Vinamilk từ quý 1 – 2006 đến quý 2 -
2018 (đơn vị: triệu VND), được nhóm tổng hợp từ trang http://finance.vietstock.vn
Double-click on the rev string to open the Series: REV window In the Series: REV window, navigate to View/Descriptive Statistics & Tests/Stats Table to access the descriptive statistics table.
Một số mô tả thống kê quan trọng:
Giá trị trung bình (Mean):
Giá trị lớn nhất (Maximum):
Giá trị nhỏ nhất (Minimum): 1284717
Độ lệch chuẩn (Std Dev.): 4038195
Trên cửa sổ Series: REV vào View/ Graph, ta có biểu đồ mô tả số liệu
DỰ BÁO DOANH THU CỦA VINAMILK
Các phương pháp dự báo giản đơn
2.1.1 Dự báo bằng phương pháp san mũ
San mũ là việc loại bỏ các yếu tố ngẫu nhiên để nhìn thấy bản chất của chuối giúp việc dự báo trở nên dễ dàng hơn.
Phương pháp san mũ đơn loại bỏ yếu tố ngẫu nhiên và dự báo giá trị mẫu (predict) nhưng không thể giúp dự báo ngoài mẫu (forecast).
Phương pháp san mũ kép là việc lặp lai 2 lần của san mũ đơn Phương pháp này có thể dự báo ngoài mẫu.
Trên cửa sổ Series: REV, vào Proc/ Exponential Smoothing/ Simple Exponential
Trên cửa sổ Exponential Smoothing, trong phần Smoothing method, chọn Double.
Chuỗi san kép là chuỗi revd
Ta thu được kết quả dự báo sau:
Date: 09/26/18 Time: 21:16 Sample: 2006Q1 2018Q2 Included observations: 50 Method: Double Exponential Original Series: REV Forecast Series: REVD
End of Period Levels: Mean 13367301
Chỉ số căn bậc hai của sai số bình phương trung bình là RMSE = 576001,6.
Trên cửa sổ Command dùng lệnh line rev revd có biểu đồ sau
2.1.2 Dự báo bằng phương pháp san mũ Holt a Tổng quan về phương pháp Phương pháp san mũ Holt dùng để dự báo chuỗi có yếu tố xu thế T bằng cách loại bỏ được yếu tố xu thế T.
T t là ước lượng của phần xu thế ở thời kỳ t
Y ¿ t là ước lượng giá trị trung bình hiện tại của Y ở thời kì t
Y ¿ n+h là giá trị dự báo của Y sau h giai đoạn trong tương lai
Với α , β là hằng số san sao cho RMSE nhỏ nhất. b Áp dụng Trên cửa sổ Series: REV, vào Proc/ Exponential Smoothing/ Simple Exponential
Trên cửa sổ Exponential Smoothing trong phần Smoothing method, chọn Holt-
Chuỗi san Holt là chuỗi revh
Ta thu được kết quả dự báo sau:
Date: 09/26/18 Time: 21:23 Sample: 2006Q1 2018Q2 Included observations: 50 Method: Holt-Winters No Seasonal Original Series: REV
End of Period Levels: Mean 13006364
Chỉ số căn bậc hai của sai số bình phương trung bình RMSE = 550318,9.
Trên cửa sổ Command dùng lệnh line rev revh có biểu đồ sau
2.1.3 Dự báo bằng phương pháp san mũ Winters a Tổng quan về phương pháp Phương pháp san mũ Winters dùng để dự báo các chuỗi có chứa cả yếu tố xu thế và yếu tố mùa vụ.
T t là ước lượng của phần xu thế ở thời kỳ t
Y ¿ t là ước lượng giá trị trung bình hiện tại của Y ở thời kì t
Y ¿ n+h là giá trị dự báo của Y sau h giai đoạn trong tương lai
S t là yếu tố thời vụ tại thời điểm t (Chỉ số mùa vụ qua các năm là không đổi) k là số thời vụ trong một năm
S t−k yếu tố thời vụ tại thời điểm t của thời kỳ trước Đầu tiên chúng ta phải xác định dạng mô hình của chuỗi:
Từ đó, ta có giá trị ước lượng trung bình hiện tại là:
Mô hình cộng: Y ¿ t =α(Y t −S t−k )+(1−α)(Y ¿ t−1 +T t−1 ) Ước lượng giá trị xu thế T là:
T t =β(Y ¿ t −Y ¿ t−1 )+(1−β)T t−1 Ước lượng giá trị chỉ số mùa vụ là:
Như vậy, ta có dự báo h giai đoạn trong tương lai là
(với S i là chỉ số mùa vụ của năm cần dự báo) b Áp dụng
Từ đồ thị của chuỗi rev , ta thấy chuỗi có xu hướng tăng dần dốc lên theo thời gian.
Vậy ta sử dụng mô hình nhân.
Trên cửa sổ Series: REV, vào Proc/ Exponential Smoothing/ Simple Exponential
Trên cửa sổ Exponential Smoothing trong phần Smoothing method, chọn Holt-
Chuỗi san Winters là chuỗi revw
Ta thu được kết quả dự báo:
Date: 09/19/18 Time: 21:38 Sample: 2006Q1 2018Q2 Included observations: 50 Method: Holt-Winters Multiplicative Seasonal Original Series: REV
End of Period Levels: Mean 12948329
Chỉ số căn bậc hai của sai số bình phương trung bình RMSE = 305032,7.
Chỉ số mùa vụ qua các năm không đổi và bằng:
Trên cửa sổ Command dùng lệnh line rev revw có biểu đồ sau:
Dự báo bằng phương pháp phân tích
Bước 1: Nhận dạng dữ liệu
Xác định chuỗi thuộc mô hình nhân hay mô hình cộng.
Tính CMA4 (nếu số liệu theo quý) hoặc CMA12 (nếu số liệu theo tháng)
Bước 2: Tách yếu tố mùa vụ
Tách yếu tố mùa vụ ra khỏi chuỗi thu được chuỗi mới là Y SA Đối với mô hình nhân: tính các tỉ số Y t
Y t MA Đối với mô hình cộng: tính các hiệu Y t - Y t MA
Phương pháp MA giúp tách biệt ảnh hưởng của hai yếu tố chu kỳ (C) và (I), từ đó chỉ giữ lại yếu tố xu thế (T) trong chuỗi dữ liệu, tạo điều kiện thuận lợi cho việc ước lượng.
Bước 3: Ước lượng chuỗi Y SA bằng hàm xu thế và dự báo chuỗi hiệu chỉnh.
Tính giá trị trung bình chênh lệch: Đối với mô hình nhân: tính Q i = 1 m-1 x ∑ Y Y ( j ) i
( j ) i MA Đối với mô hình cộng: tính Q i =¿ 1 m-1 x ∑ (Y t - Y t MA )
Tính chỉ số mùa vụ: Đối với mô hình nhân: SR i = Q (Q i
1 + Q 2 + Q 3 +Q 4 )/4 Đối với mô hình cộng: SD i = Q i - ( Q 1 + Q 2 + Q 3 + Q 4 )/4
Bước 4: Dự báo chuỗi gốc
Nhân hoặc cộng chuỗi hiệu chỉnh với chỉ số mùa vụ để dự báo chuỗi gốc Đối với mô hình nhân: Y ( j ) i
SAR = SR Y ( j ) i i Đối với mô hình cộng: Y ( j ) i
Bước 1: Xác định dạng chuỗi
Đã xác định chuỗi thuộc mô hình nhân, bước tiếp theo là tách yếu tố mùa vụ Trên cửa sổ Series: REV, chọn phương pháp Điều chỉnh Mùa vụ/ Trung bình Di động để thực hiện.
Trên cửa sổ Seasonal Adjustment trong phần Adjustment methods chọn Ratio to moving average-Multiplicative
Chuỗi đã tách yếu tố mùa vụ là revsa , chỉ số mùa vụ là sr
Ta có kết quả chỉ số mùa vụ như sau:
Date: 09/26/18 Time: 22:31 Sample: 2006Q1 2020Q4 Included observations: 50 Ratio to Moving Average Original Series: REV Adjusted Series: REVSA Scaling Factors:
Kết quả thu được ở phần Scaling Factors là chỉ số mùa vụ sr qua từng quý.
Bước 3: Ước lượng chuỗi revsa theo hàm xu thế Ước lượng revsa theo biến T
Gõ lệnh genr t=@trend(2006Q1) để tạo biến xu thế t
Gõ lệnh LS revsa c t để ước lượng revsa theo biến t
Dependent Variable: REVSA Method: Least Squares Date: 09/26/18 Time: 22:33 Sample (adjusted): 2006Q1 2018Q2 Included observations: 50 after adjustments Variable Coefficient Std Error t-Statistic Prob
S.E of regression 643275.0 Akaike info criterion 29.62571 Sum squared resid 1.99E+13 Schwarz criterion 29.70219 Log likelihood -738.6428 Hannan-Quinn criter 29.65483 F-statistic 1866.588 Durbin-Watson stat 0.330894 Prob(F-statistic) 0.000000
Ta có mô hình hồi quy: rev = -144357,5 + 272360,0 t ^
Kiểm định giả thuyết thống kê về hệ số hồi quy
Cặp giả thuyết: { H H 0 1 : β : β j j = 0 ≠ 0 Với mức ý nghĩa α cho trước, nếu P-value < α thì bác bỏ H0
Theo kết quả ước lượng, với α = ta thấy:
Hệ số chặn của t có P-value ( Prob ) = 0 ,0000 < α = 0,05
Hệ số hồi quy của T có ý nghĩa thống kê
Mô hình có ý nghĩa thống kê tại mức ý nghĩa α = 0,05 (vì mô hình chỉ có biến độc lập duy nhất T)
Kiểm định bỏ sót biến
Cặp giả thuyết: { H 0 : Mô hình không bỏ sót biến
H 1 : Mô hình thiếu biếnTrên cửa sổ ước lượng vào Stability Diagnostics/ Ramsey RESET Test
Ramsey RESET Test Equation: UNTITLED Specification: REVSA C T Omitted Variables: Squares of fitted values
Theo kết quả kiểm định ta thấy P-value (Probability) = 0,0000 < α = 0,05
OLS bị vi phạm, mô hình bị bỏ sót biến. Ước lượng lại revsa theo t , t 2 , t 3
Trên cửa số Command gõ lệnh LS revsa c t t^2 t^3
Dependent Variable: REVSA Method: Least Squares Date: 09/26/18 Time: 22:58 Sample (adjusted): 2006Q1 2018Q2 Included observations: 50 after adjustments
Variable Coefficient Std Error t-Statistic Prob
S.E of regression 312265.5 Akaike info criterion 28.21771 Sum squared resid 4.49E+12 Schwarz criterion 28.37068 Log likelihood -701.4428 Hannan-Quinn criter 28.27596 F-statistic 2692.983 Durbin-Watson stat 1.350956 Prob(F-statistic) 0.000000
Kiểm định giả thuyết thống kê về hệ số hồi quy
Cặp giả thuyết: { H H 0 1 : β : β j j = 0 ≠ 0 Với mức ý nghĩa α cho trước, nếu P-value < α thì bác bỏ H0. Theo kết quả ước lượng, với α = 0,05 ta thấy:
Biến p-value Ho Kết luận t 0.0774 > 0,05 Không bác bỏ Không có ý nghĩa thống kê t 2 0.000 < 0,05 Bác bỏ Có ý nghĩa thống kê t 3 0.00 < 0,05 Bác bỏ Có ý nghĩa thống kê
Hệ số hồi quy của biến t không có ý nghĩa thống kê nhưng không có cơ sở để loại biến t khỏi mô hình.
Mô hình có ý nghĩa thống kê tại mức ý nghĩa α = 0,05vì có hai hệ số hồi quy của biến độc lập khác 0.
Kiểm định bỏ sót biến
Giả thuyết thống kê: { H 0 : Mô hình không bỏ sót biến
Trên cửa sổ ước lượng vào Stability Diagnostics/ Ramsey RESET Test
Ramsey RESET Test Equation: UNTITLED Specification: REVSA C T T^2 T^3 Omitted Variables: Squares of fitted values
Theo kết quả kiểm định ta thấy P-value (Probability) = 0,5737 > α = 0,05
Không có cơ sở bác bỏ H0.
OLS không bị vi phạm, mô hình không bị bỏ sót biến.
Kiểm định phân phối chuẩn của nhiễu.
Cặp giả thuyết: { H 0 : Nhiễu phân phối chuẩn
H 1 : Nhiễu không phân phối chuẩn Trên cửa sổ ước lượng vào View/ Residual Diagnostics/ Histogram Normality Test
Mean 3.13e-09 Median 11062.21 Maximum 936041.9 Minimum -827674.2 Std Dev 302555.4 Skewness 0.238853 Kurtosis 4.111550
Theo kết quả kiểm định ta thấy P-value (Probability) = 0,217679 > α = 0,05
Không có cơ sở bác bỏ H0 Nhiễu phân phối chuẩn.
Kiểm định phương sai sai số thay đổi
Cặp giả thuyết: { H 0 : Phương sai sai số không đổi
H 1 : Phương sai sai số thay đổi Trên cửa sổ ước lượng vào View/ Residual Diagnostics/ Heteroskedasticity Test
Trên cửa sổ Heteroskedasticity Test chọn White
Heteroskedasticity Test: White Null hypothesis: Homoskedasticity
Obs*R-squared 5.235114 Prob Chi-Square(6) 0.5140 Scaled explained SS 6.893640 Prob Chi-Square(6) 0.3308
Theo kết quả kiểm định ta thấy:
Không có cơ sở bác bỏ H0.
Mô hình không có phương sai sai số thay đổi tại mức ý nghĩa α = 0,05.
Kiểm định tự tương quan
Cặp giả thuyết: { H 0 : Mô hình không có tự tương quan
H 1 : Mô hình có tự tương quan Trên cửa sổ ước lượng vào View/ Residual Diagnostics/ Serial Correlation LM test
Ta có kết quả sau
Breusch-Godfrey Serial Correlation LM Test:
Null hypothesis: No serial correlation at up to 2 lags
Obs*R-squared 8.162449 Prob Chi-Square(2) 0.0169
Theo kết quả kiểm định ta thấy
Mô hình mắc khuyết tật tự tương quan tại mức ý nghĩa α = 0,05. Trên cửa sổ ước lượng chọn Estimate
Trên cửa sổ Estimate Equation trong phần Methods chọn ROBUSTLS - Robust least squared
Lúc này, ta đã dùng hồi quy Robust để kiểm soát khuyết tật phương sai sai số thay đổi.
Dependent Variable: REVSA Method: Robust Least Squares Date: 09/27/18 Time: 00:21 Sample (adjusted): 2006Q1 2018Q2 Included observations: 50 after adjustments Method: M-estimation
M settings: weight=Bisquare, tuning=4.685, scale=MAD (median centered) Huber Type I Standard Errors & Covariance
Variable Coefficient Std Error z-Statistic Prob
Bước 4: Dự báo chuỗi gốc
Trên cửa sổ ước lượng, ta chọn Forecast
Trên cửa sổ Forecast trong phần Forecast Sample chọn mẫu từ 2006Q1 2018Q2 trong phần Output/ Graph chọn Forecast & Actuals
Ta có kết quả sau:
The forecasted data for REVSAF includes observations from 2006Q1 to 2018Q2, totaling 50 entries The analysis reveals a Root Mean Squared Error of 300,176.3 and a Mean Absolute Error of 235,812.9, indicating the accuracy of the predictions The Mean Absolute Percent Error stands at 4.88%, while the Theil Inequality Coefficient is 0.0197, suggesting a low level of forecast inequality Additionally, the Bias Proportion is minimal at 0.0006, and the Variance Proportion is 0.00497, with a significant Covariance Proportion of 0.9944 The Theil U2 Coefficient is 0.769, and the Symmetric Mean Absolute Percentage Error (MAPE) is 4.88%, highlighting the reliability of the forecasted results.
Forecast: REVSAF Actual: REVSA Forecast sample: 2006Q1 2018Q2 Included observations: 50
Root Mean Squared Error 300176.3 Mean Absolute Error 235812.9 Mean Abs Percent Error 4.877383 Theil Inequality Coef 0.019651 Bias Proportion 0.000630 Variance Proportion 0.004967 Covariance Proportion 0.994403 Theil U2 Coefficient 0.769027 Symmetric MAPE 4.884195
Nhìn vào kết quả dự báo trong mẫu ta thấy:
Tức là sai số dự báo < 5%, Có thể sử dụng mô hình này để dự báo ngoài mẫu.
Mở lại cửa sổ Forecast Trong phần Forecast sample chọn mẫu 2018Q3 2020Q4
Ta thu được chuỗi dự báo revsaf
Ta lấy chuỗi revsaf nhân với chỉ số mùa vụ sr sẽ được chuỗi dự báo revf
Trên cửa sổ Command gõ lệnh genr revf=revsaf*srTrên cửa sổ Command gõ lệnh line revf rev thu được kết quả:
Dự báo bằng mô hình ARIMA
a Tổng quan về mô hình
Mô hình ARIMA bậc p, d, q là mô hình với:
AR(p) là mô hình tự tương quan bậc p Y(d) là chuỗi dừng khi lấy sai phân bậc d MA(q) là mô hình trung bình trượt bậc q có phương trình là:
Bước 1: Kiểm tra tính dừng của chuỗi cần dự báo
Đối với chuỗi thường: kiểm tra tính dừng của chuỗi gốc và tiến hành dự báo ARIMA với chuỗi gốc.
Để phân tích chuỗi dữ liệu có tính mùa vụ, cần tách yếu tố mùa vụ khỏi chuỗi gốc Sau khi tách, kiểm tra tính dừng của chuỗi đã tách và tiến hành dự báo bằng phương pháp ARIMA với chuỗi này.
Để phân tích chuỗi có tính xu thế, trước tiên cần kiểm tra tính dừng của chuỗi gốc Y_t = β̂_1 + β̂_2 t + e_t (trong đó e_t là phần dư) Sau khi xác định tính dừng của chuỗi e_t, chúng ta tiến hành dự báo ARIMA dựa trên chuỗi này.
Bước 2: Xác định độ trễ p, q.
Bước 3: Kiểm tra các điều kiện giả định của mô hình:
Mô hình khả nghịch và ổn định (nghiệm đơn vị của các mô hình hồi quy phụ < 1).
Nhiễu trắng (nhiễu không tự tương quan).
Bước 4: Dự báo ngoài mẫu
Đối với chuỗi có yếu tố mùa vụ: Nhân hoặc cộng chuỗi dự báo đã hiệu chỉnh với chỉ số mùa vụ để dự báo chuỗi gốc.
Đối với chuỗi có yếu tố xu thế: Tạo biến Y f = β ^ 1 + β ^ 2 t + e f là dự báo của chuỗi Y t. c Áp dụng
Bước 1: Kiểm tra tính mùa vụ và tách yếu tố mùa vụ nếu có
Trên cửa sổ Series: REV vào View/ Graph
Trên cửa sổ Graph Options chọn Seasonal Graph
Ta có biểu đồ sau
Means by Season rev by Season
Các vạch đỏ trong hình biểu thị giá trị trung bình của từng mùa, và sự chênh lệch giữa chúng cho thấy mức độ rõ ràng của tính mùa vụ Mặc dù các vạch đỏ không có sự chênh lệch lớn, nhưng vẫn tồn tại sự sai lệch, cho thấy chuỗi giá trị sử dụng vẫn có yếu tố mùa vụ.
Ta sẽ tiến hành dự báo cho chuỗi rev bằng cách tách yếu tố mùa vụ.
Ta đã xác định được chuỗi thuộc dạng mô hình nhân (như đã kết luận ở phần III).
Tiến hành tách yếu tố mùa vụ (theo phần IV.2b) ta thu được chuỗi revsa
Kiểm định tính dừng của chuỗi revsa Cặp giả thuyết: { H 0 : Chuỗi không dừng
H 1 : Chuỗi dừng Trên cửa sổ Series: REVSA vào View/ Unit Root Tests/ Standard Unit Root Test
Trên cửa sổ Unit Root Test, phần Test for unit root in chọn Level
Null Hypothesis: REVSA has a unit root Exogenous: Constant
Lag Length: 1 (Automatic - based on SIC, maxlag) t-Statistic Prob.*
Augmented Dickey-Fuller test statistic 1.105273 0.9970 Test critical values: 1% level -3.574446
Theo kết quả kiểm định ta thấy
The absence of evidence to reject the null hypothesis (H0) indicates that the REVSA series is non-stationary Therefore, we proceed to test the stationarity of the first difference of the REVSA series In the Series window, navigate to REVSA, then go to View > Unit Root Tests > Standard Unit Root Test In the Unit Root Test window, select "Test for unit root in 1st difference" to conduct the analysis.
Null Hypothesis: D(REVSA) has a unit root Exogenous: Constant
Lag Length: 0 (Automatic - based on SIC, maxlag) t-Statistic Prob.*
Augmented Dickey-Fuller test statistic -10.45589 0.0000 Test critical values: 1% level -3.574446
Theo kết quả kiểm định ta thấy:
Bác bỏ H0, chấp nhận H1 Chuỗi revsa dừng ở sai phân bậc 1.
Bước 2: Tìm độ trễ cho mô hình AR và MA
Trên cửa sổ Series: REVSA vào View/ Correlogram Trên cửa sổ Correlogram Specification chọn độ trễ phần Lags to include là 20
Date: 09/30/18 Time: 19:31 Sample: 2006Q1 2020Q4 Included observations: 49 Autocorrelation Partial Correlation AC PAC Q-Stat Prob
Ta chọn độ trễ là 1 cho AR, độ trễ 1 và 4 cho MA.
Bước 3: Ước lượng mô hình và kiểm định khuyết tật Ước lượng mô hình
Trên cửa sổ Command gõ lệnh LS d(revsa) c ar(1) ma(1) ma(4)
Ta có kết quả hồi quy như sau:
Dependent Variable: D(REVSA) Method: ARMA Maximum Likelihood (BFGS) Date: 09/30/18 Time: 19:38
Sample: 2006Q2 2018Q2 Included observations: 49 Convergence achieved after 18 iterations Coefficient covariance computed using outer product of gradients Variable Coefficient Std Error t-Statistic Prob
R-squared 0.330289 Mean dependent var 236917.9 Adjusted R-squared 0.269407 S.D dependent var 368296.7 S.E of regression 314800.7 Akaike info criterion 28.28525 Sum squared resid 4.36E+12 Schwarz criterion 28.47830 Log likelihood -687.9887 Hannan-Quinn criter 28.35849 F-statistic 5.425005 Durbin-Watson stat 1.985770 Prob(F-statistic) 0.001221
Inverted AR Roots -.12 Inverted MA Roots 68-.58i 68+.58i -.52+.58i -.52-.58i
Module của các nghiệm đơn vị:
Ta thấy, các module đều nhỏ hơn 1 nên các nghiệm đơn vị đều nằm trong vòng tròn đơn vị Mô hình khả nghịch và ổn định.
Trên cửa sổ ước lượng vào View/ Residual Diagnostics/ Correlogram – Q-statisticsTrên cửa sổ Lag Specification chọn độ trễ 12
Date: 09/30/18 Time: 19:46 Sample: 2006Q1 2020Q4 Included observations: 49 Q-statistic probabilities adjusted for 3 ARMA terms Autocorrelation Partial Correlation AC PAC Q-Stat Prob
P-value tại các độ trễ đều lớn hơn mức ý nghĩa α = 5% nên mô hình không có tự tương quan của nhiễu.
Dự báo cho chuỗi hiệu chỉnh revsa
Trên cửa sổ ước lượng chọn Forecast
Trên cửa sổ Forecast, phần Forecast Sample chọn mẫu từ 2013Q4 2015Q2
Ta có kết quả sau:
IV I II III IV I II
Forecast: REVSAF Actual: REVSA Forecast sample: 2013Q4 2015Q2 Included observations: 7
Root Mean Squared Error 354292.4Mean Absolute Error 335304.8Mean Abs Percent Error 3.690889Theil Inequality Coef 0.020053 Bias Proportion 0.481008 Variance Proportion 0.158144 Covariance Proportion 0.360848Theil U2 Coefficient 0.742035Symmetric MAPE 3.745901
Nhìn vào kết quả dự báo trong mẫu ta thấy
Tức là sai số dự báo < 5% Có thể sử dụng mô hình này để dự báo ngoài mẫu.
Mở lại cửa sổ Forecast Trong phần Forecast sample chọn mẫu 2018Q3 2020Q4
Ta thu được chuỗi dự báo revsaf
Dự báo cho chuỗi gốc
Ta lấy chuỗi revsaf nhân với chỉ số mùa vụ sr sẽ được chuỗi dự báo revfarima
Trên cửa sổ Command gõ lệnh genr revfarima=revsaf*sr Trên cửa sổ Command gõ lệnh line revfarima rev thu được kết quả