Sự biến động của một số hiện tượng trong kinh tế xã hội thường có tính thời
vụ, nghĩa là hàng năm trong từng thời gian nhất định, sự biến động được lặp đi lặp
lại.
Nghiên cứu biến động thời vụ nhằm đề ra những chủ trương biện pháp phù hợp,
kịp thời, hạn chế những ảnh hưởng của biến động thời vụ đối với sản xuất và sinh hoạt
của xã hội.
Nhiệm vụ của nghiên cứu thống kê là dựa vào số liệu của nhiều năm (ít nhất
là ba năm) để xác định tính chất và mức độ của biến động thời vụ. Phương pháp này
thường được sử dụng để tính các chỉ số thời vụ
74 trang |
Chia sẻ: nguyenlam99 | Lượt xem: 995 | Lượt tải: 0
Bạn đang xem trước 20 trang tài liệu Bài giảng Kỹ thuật lập trình – Chương 3: Lập trình ứng dụng kinh tế, để xem tài liệu hoàn chỉnh bạn click vào nút DOWNLOAD ở trên
khai thác toàn bộ công
suất kỹ thuật của các kênh.
(4). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống được nhận phục
vụ) là: Popv = 1-Ptc -Pc
(5). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống):
bN =
n
k
n
k
m
s
snk
m
s
snk PnkPPnkP
0 1 11
Khi x1: bN =
)1(
1
),(),(
)1(
1
),()1,(
m
m
x
x
xnPnR
x
x
xnnPnR
Khi x=1: bN = mnPnR
nnmPnR
),(),(
),()1,(
(6). Độ dài hàng chờ trung bình
Khi x1: cM =
x
xxnPnR
sxnP
sP m
m
s
s
m
s
sn
1
)1(),(),(
),(
0
0
Trong đó:
]1)1[(
)1(
1
2
1
0
1
1
0
mm
m
s
s
m
s
s
m
s
s
mxxm
x
x
x
x
xsxxsx
Khi x=1: cM = 2
)1( mmPn
(7). Thời gian chờ trung bình của một yêu cầu:
89
Thời gian chờ của mỗi yêu cầu được xác định bằng khoảng thời gian hệ
thống giải phóng mỗi yêu cầu và số yêu cầu chờ hiện có. Vì vậy nếu gọi thời gian
chờ là Tc thì Tc = 0 khi hệ thống còn kênh rỗi; khi có s yêu cầu chờ thì thời gian chờ
của mỗi yêu cầu trung bình sẽ là: s/n, vì vậy có thể tính thời gian chờ trung bình
như sau:
m
s
m
s
snsnc sPPn
sT
0 0
1
1
Hay:
c
c
MT
(8). Thời gian rỗi giữa hai lần phục vụ:
n
N
n
N
H
HTT
b
b
b
b
pvr
11
90
Lưu đồ thuật toán:
BEGIN
Nhập n, λ, µ, m
α = , x=
P0 = mnPnR
P
),(),(
)0,(
,
Pr = P0, Pc = mPn
Ptc = Pn+m = 0!
Px
n
m
n ,
Popv = 1-Ptc -Pc
bN = mnPnR
nnmPnR
),(),(
),()1,(
, :
cM =
2
)1( mmPn ,
c
c
MT
n
N
n
N
H
HTT
b
b
b
b
pvr
11
X=1
P0 =
x
xxnPnR
P
m
1
)1(),(),(
)0,(
,
Pc =
x
x
x
xxnPnR
nP m
m
1
)1(
1
)1(),(),(
),(
,
Ptc = mm x
x
xxnPnR
nP
1
)1(),(),(
),(
,
bN =
)1(
1
),(),(
)1(
1
),()1,(
m
m
x
x
xnPnR
x
x
xnnPnR
,
cM =
x
xxnPnR
sxnP
sP m
m
s
s
m
s
sn
1
)1(),(),(
),(
0
0
N
n
N
H
HTT
b
b
b
pvr
11
YES NO
91
Một số ví dụ minh hoạ
Một trạm đăng kiểm xe có 2 tổ làm việc độc lập, năng suất của mỗi tổ là 6
xe/ngày. Dòng xe đến là dòng poát xông dừng mật độ trung bình 10 xe/ngày. Thời
gian đăng kiểm 1 xe tuân theo phân phối chỉ số. Một xe đến trạm nếu gặp lúc có tổ
rỗi thì được nhận ngay tại một tổ rỗi ngược lại phải chờ nếu số xe chờ không quá 9.
a. Tính các chỉ tiêu phân tích hoạt động của trạm trên như một hệ thống phục vụ.
b. Nếu muốn tỷ lệ xe được đăng kiểm không nhỏ hơn 96% thì cần có tối thiểu bao
nhiêu tổ làm việc như vậy.
Hướng dẫn: theo đầu bài ta có
Câu a): - Số kênh phục vụ: 2; Cường độ dòng vào: 10
- Năng suất phục vụ: 6; Số chỗ chờ tối đa (độ dài hàng chờ) : 10
a) Nhập dữ liệu
END
Xuất ra : Pr, Pc, Ptc, Ppv, Nb, Mc, Tc, Tr
92
b) Kết quả
Câu b):
- Cường độ dòng vào: 10
- Năng suất phục vụ: 6
- Độ dài hàng chờ : 10
- Tỷ lệ xe được đăng kiểm không nhỏ hơn 96%
a) Nhập dữ liệu
b) Kết quả
93
Xây dựng chương trình
Đầu vào: Số kênh phục vụ, cường độ dũng vào, năng suất phục vụ và độ dài
hàng chờ.
Đầu ra: Các chỉ tiêu đánh giá hệ thống.
Giải thuật:
Dim p0 As Double 'xac suat he thong co n kenh roi
Dim pc As Double 'xac suat 1 yeu cau den he thong phai cho
Dim ptc As Double 'xac suat he thong co n kenh ban
Dim Pofv As Double 'xac suat phuc vu
Dim Nb As Double 'so kenh ban trung binh
Dim Mc As Double 'do dai hang cho trung binh
Dim Tc As Double 'thoi gian cho trung binh cua 1 yeu cau
Dim Tr As Double 'thoi gian roi giua 2 lan phuc vu
Dim n As Integer
Dim xh As String
Dim tb(20) As String
Dim tbs(20) As Double
94
Function hammu(ai As Double, si As Integer) As Double
Dim ass As Double
ass = 1
Dim i As Integer
For i = 1 To si
ass = ass * ai
Next i
hammu = ass
End Function
Function hamhop(a As Double, k As Integer) As Double
Dim ak As Double
Dim i As Integer
ak = 1
For i = 1 To k
ak = ak * (a / i)
Next i
hamhop = ak
End Function
Public Sub HamThuan()
Dim m As Integer
Dim l As Integer
Dim a As Double
Dim s As Double
Dim s1 As Double
Dim X As Double
Dim X1 As Double
n = Val(Text1.Text) 'so kenh phuc vu
95
l = Val(Text2.Text) 'cuong do dong vao
m = Val(Text3.Text) 'nang suat phuc vu
w = Val(Text4.Text) 'do dai hang cho
a = l / m
s = 1
X = 0
Dim i As Integer
For i = 1 To n
s = s * (a / i)
X = X + s
Next i
Dim s0 As Double
s0 = 1
For i = 1 To n
s0 = s0 * (a / i)
Next i
Dim X2 As Double
X2 = 0
s1 = 1
For i = 1 To w
s1 = s1 * (a / n)
X2 = X2 + s1
Next i
p0 = 1 / (X + 1 + s0 * X2)
Dim X3 As Double
X3 = 0
Dim s11 As Double
96
s11 = 1
For i = 1 To w - 1
s11 = s11 * (a / n)
X3 = X3 + s11
Next i
pc = s0 * (X3 + 1) * p0
Dim xm As Double
xm = 1
For i = 1 To w
xm = xm * (a / n)
Next i
ptc = s0 * p0 * xm
Pofv = 1 - ptc - pc
Dim t1 As Double
t1 = 0
For i = 1 To n
t1 = t1 + i * hamhop(a, i) * p0
Next i
Dim t2 As Double
t2 = 0
For i = 1 To w
t2 = t2 + hammu(a / n, i) * s0 * p0 * n
Next i
Nb = t1 + t2
Mc = 0
For i = 1 To w
Mc = Mc + s0 * hammu(a / n, i) * i * p0
97
Next i
Tc = Mc / l
Tr = (1 - Nb / n) / (m * Nb / n)
End Sub
c. Hệ thống chờ thuần nhất
Trong điều kiện hệ thống chờ với độ dài hàng chờ và thời gian chờ đủ lớn,
việc một yêu cầu đến hệ thống được phục vụ là một biến cố hầu như chắc chắn. Nói
cách khác, người ta không cần quan tâm đến việc có còn chỗ chờ hay không và
cũng không quan tâm đến thời gian chờ dài hay ngắn. Với mục đích tiện lợi cho
việc phân tích hệ thống, sau đây ta xem xét mô hình hệ thống phục vụ công cộng
chờ với độ dài hàng chờ và thời gian chờ không hạn chế.
Mô tả hệ thống
Hệ thống phục vụ công cộng có n kênh phục vụ, năng suất các kênh bằng
nhau và bằng , dòng yêu cầu đến hệ thống là dòng poát xông dừng mật độ . Thời
gian phục vụ 1 yêu cầu của kênh tuân theo qui luật chỉ số. Một yêu cầu đến hệ
thống gặp lúc có ít nhất 1 kênh rỗi thì được nhận phục vụ cho đến thoả mãn tại 1
trong các kênh rỗi đó. Ngược lại nếu tất cả các kênh đều bận thì xếp hàng chờ. Cần
xác định các chỉ tiêu phân tích hệ thống.
Hệ phương trình trạng thái và các xác suất trạng thái
Áp dụng qui tắc viết hệ phương trình xắc suất trạng thái, ta có thể viết
phương trình trạng thái của hệ thống này. Trong đó các phương trình ứng với các
trạng thái từ X0(t) đến Xn(t) không có gì khác so với các hệ phương trình trên, từ
các trạng thái sau Xn(t) ta có vô số trạng thái có cấu trúc sơ đồ như nhau vì vậy các
phương trình cũng như nhau. Cụ thể là:
0 = - P0 + P1
0 = - P1 - P1 +P0 + 2P2
.... ................................... (1)
0 = - Pk - kPk +Pk-1 +(k+1)Pk+1
.... ...................................
0 = - nPn - Pn +Pn-1 + nPn+1
98
.... ...................................
0 = - nPn+s - Pn+s +Pn+s-1 + nPn+s+1
.... ...................................
với ĐK chuẩn: 1
k
k
P
đặt = / từ (1) ta có: Pk = 0!
P
k
và Pn+s = 0!
P
nn s
sn (2)
Các chỉ tiêu đánh giá hoạt động của hệ thống
Để tính các xác suất trạng thái và các chỉ tiêu ta chỉ cần lấy giới hạn các
công thức đã có ở hệ thống chờ hạn chế với m dần tới vô hạn và /n < 1. Trong
trường hợp ngược lại /n 1 hệ thống không thể tồn tại, vì số yêu cầu chờ tăng vô
hạn xác suất hệ thống ở một trạng thái Xk(t) với k hữu hạn bằng không.
Ta có các công thức tương ứng như sau:
(1). Xác suất hệ thống có n kênh rỗi: Pr = P0
P0 =
n
k s
s
nk
x
n0 1 !!
1
=
x
xnPnR
P
1
),(),(
)0,(
(2). Xác suất một yêu cầu đến hệ thống phải chờ: Pc
Pc = xn
Px
n
PP
n
s
s
n
s
sn
1
1
!! 00
0
0
=
x
xnPnR
x
nP
1
),(),(
1
1),(
(3). Xác suất phục vụ (xác suất một yêu cầu đến hệ thống được nhận phục
vụ) là: Ppvo = 1 - Pc
(4). Số kênh bận trung bình (hay số yêu cầu trung bình có trong hệ thống):
bN =
n
k
n
k s
s
nk
s
snk xn
nP
k
kPPnkP
0 1 1
00
1 !!
99
= )
1!!
(
1
0
0 x
x
n
n
k
P
nn
k
k
=
x
xnPnR
x
xnnPnR
1
),(),(
1
),()1,(
(5). Độ dài hàng chờ trung bình
cM =
x
xnPnRx
nxPx
n
PsP
s
s
n
s
sn
1
),(),()1(
),(
! 20
0
0
(6). Thời gian chờ trung bình của một yêu cầu
c
c
M
T
Trong thực tế khi m đủ lớn người ta sử dụng các công thức của hệ thống chờ thuần
nhất cho hệ thống chờ hạn chế, làm như vậy việc tính các chỉ tiêu sẽ đơn giản hơn.
100
Lưu đồ thuật toán
BEGIN
Nhập n, µ,λ
α = , x=
X<1
Pr = P0 =
x
xnPnR
P
1
),(),(
)0,(
, Pc =
x
xnPnR
x
nP
1
),(),(
1
1),(
Ppvo = 1 - Pc , bN =
x
xnPnR
x
xnnPnR
1
),(),(
1
),()1,(
,
cM =
x
xnPnRx
nxPx
n
PsP
s
s
n
s
sn
1
),(),()1(
),(
! 20
0
0
c
c
MT
Xuất ra: Pr, Pc, Ppvo, Nb, Mc, Tc
END
YES NO
101
Một số ví dụ minh hoạ
Một thư viện có 6 người làm thư mục sách, mỗi giờ một người làm
được trung bình 4 cuốn. Trung bình mỗi giờ có 18 cuốn sách về thư viện cần làm
thư mục. Nếu một cuốn sách về gặp lúc có người làm thư mục rỗi thì được làm thư
mục ngay, ngược lại phải xếp tạm vào kho chờ làm thư mục. Dung tích kho đủ lớn
và giả sử dòng sách về là dòng poát xông dừng, còn thời gian làm thư mục tuân
theo qui luật chỉ số.
a. Tính các chỉ tiêu đánh giá hoạt động của tổ làm thư mục.
b. Nếu muốn tỷ lệ sách phải xếp tạm vào kho chờ làm thư mục không lớn hơn 40% thì
cần có tối thiểu bao nhiêu người làm thư mục sách.
Hướng dẫn giải: Theo đầu bài ta có
Câu a):
- Số kênh phục vụ: 6
- Cường độ dòng vào: 18
- Năng suất phục vụ: 4
a) Nhập dữ liệu
102
b) Kết quả
Câu b):
- Cường độ dòng vào: 18
- Năng suất phục vụ: 4
- Tỷ lệ sách phải xếp tạm vào kho chờ không lớn hơn 40%
a) Nhập dữ liệu
103
b) Kết quả
Xây dựng chương trình
Đầu vào: Số kênh phục vụ, cường độ dũng vào, năng suất phục vụ
Đầu ra: Các chỉ tiêu đánh giá hệ thống
Giải thuật:
Dim p0 As Double 'xac suat he thong co n kenh roi
Dim pc As Double 'xac suat 1 yeu cau den he thong phai cho
Dim Pofv As Double 'xac suat 1 yeu cau den HT duoc phuc vu
Dim Nb As Double 'so kenh ban trung binh
Dim Mc As Double 'do dai hang cho trung binh
Dim Tc As Double 'thoi gian cho trung binh cua 1 yeu cau
Dim n As Integer
Dim xh As String
Dim tb(20) As String
Dim tbs(20) As Double
Function hammu(ai As Double, si As Integer) As Double
104
Dim ass As Double
ass = 1
Dim i As Integer
For i = 1 To si
ass = ass * ai
Next i
hammu = ass
End Function
Function hamhop(a As Double, k As Integer) As Double
Dim ak As Double
Dim i As Integer
ak = 1
For i = 1 To k
ak = ak * (a / i)
Next i
hamhop = ak
End Function
Public Sub HamThuan()
Dim l As Integer
Dim a As Double
Dim s As Double
Dim s1 As Double
Dim X As Double
Dim X1 As Double
n = Val(Text1.Text) 'so kenh phuc vu
l = Val(Text2.Text) 'cuong do dong vao
105
m = Val(Text3.Text) 'nang suat phuc vu
a = l / m
s = 1
X = 0
Dim i As Integer
For i = 1 To n
s = s * (a / i)
X = X + s
Next i
Dim s0 As Double
s0 = 1
For i = 1 To n
s0 = s0 * (a / i)
Next i
p0 = 1 / (X + 1 + s0 * (1 / (1 - a / n)))
pc = s0 * (1 / (1 - a / n)) * p0
Pofv = 1 - pc
Dim t1 As Double
t1 = 0
For i = 1 To n - 1
t1 = t1 + i * hamhop(a, i)
Next i
Nb = p0 * (t1 + n * s0 * ((a / n) / (1 - (a / n))))
Mc = Mc + s0 * (1 / (1 - a / n)) * p0
Tc = Mc / l
End Sub
106
3.1.3. Bài toán dự trữ
Mục tiêu của bài toán
Nhằm đưa ra các quyết định đúng đắn hỗ trợ cho các doanh nghiệp trong
một số các trường hợp sau:
(1). Nếu chúng ta đang thực hiện một chiến lược dự trữ nào đó mà chi phí
đặt hàng (hay chi phí cố định) quá cao so với chi phí dự trữ thì cần tăng khối lượng
hàng đặt mỗi lần, ngược lại cần giảm hàng đặt mỗi lần.
(2). Xác định qui mô kho cần thiết tại mỗi điểm dữ trữ tối ưu
(3). Xác định lượng vốn cần thiết cho chu kỳ dự trữ và tiêu thụ
(4). Sự thay đổi tổng cầu, giá hàng
(5). ..................
Một số dạng bài toán quản lý dự trữ
+ Mô hình dự trữ với việc tiêu thụ đều, bổ sung tức thời
+ Mô hình dự trữ tiêu thụ đều, bổ sung dần dần
+ Mô hình dữ liệu nhiều mức giá ( giá hàng thay đổi theo số lượng đặt mua
mỗi lần).
Qui trình xử lý bài toán
Bài toán được thực hiện với qui trình dưới đây. Bài toán có thể về quản lý dự
trữ có thể có rất nhiều các mức giá khác nhau, tuỳ vào từng bài cụ thể mà chúng ta
có thể nhập các mức giá khác nhau => cho ra các kết quả khác nhau. Nhưng về cơ
bản để giải quyết bài toán này chúng ta cần có các thông số vào tổng quát sau:
a. Mô hình quản lý dự trữ với việc tiêu thụ đều, bổ sung tức thời (Mô hình
WILSON)
Đầu vào:
1. Tổng nhu cầu
2. Chi phí đặt hàng
3. Hệ số chi phí dự trữ
4. Thời gian đặt hàng
5. Số mức giá
6. Nhập các mức giá
7 ...
Qui trình xử lý
Chương trình máy tính
Kết quả:
1. Chi phí cực tiểu
2. Lượng đặt hàng tối ưu
(duy nhất)
3. Số lần đặt hàng
4. Điểm đặt hàng
5 ...
107
Mô tả bài toán
Giả sử nhu cầu một loại hàng trong thời kỳ T(T=1) là Q đơn vị. Việc tiờu
thụ hàng là đều đặn và thời gian bổ sung hàng vào kho khụng đỏng kể (tức thời).
Chi phí cho mỗi lần đặt hàng là A, giỏ đơn vị hàng là C, hệ số chi phí dự trữ là I,
thời gian đặt hàng là T0. Hóy xỏc định số lần đặt hàng và lượng hàng đặt mỗi lần
sao cho tổng chi phí là bộ nhất.
Xây dựng chương trình với mô hình Wilson
* Đầu vào:
- Tổng cầu một loại hàng Q
- Đơn giá hàng C
- Chi phí cho mỗi lần đặt hàng A
- Hệ số chi phí dự trữ I
- Thời gian đặt hàng T0
* Đầu ra:
- Lượng hàng đặt tối ưu mỗi làn q*
- Tổng chi phí bé nhất F(q*)
- Số lần đặt hàng tỗi ưu n*
- Chu kỳ dự trữ ,tiêu thụ t*
- Điểm đặt hàng tối ưu B*
108
Lưu đồ thuật toán:
BEGIN
Nhập : Q, C, A, I, T0
IC
2AQ*q (4)
F(q*) =CQ+2AQ/q*=ICq*+CQ
n*=Q/q* , t*=1/n*.
[T0 - t*.int(T0/t*)]
B*=Q[T0-t*.int(T0/t*)]; int(T0/t) là phần nguyên của T0/t.
Xuất ra : q*, F (q*), n*, t*, B*
END
109
* Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB:
Private Sub Command1_Click()
Dim Q1 As Currency
Dim n As Currency
Dim t1 As Currency
Dim b As Currency
Dim Q As Currency
Dim c As Currency
Dim i As Currency
Dim A As Currency
Dim T As Currency
Dim F As Currency
If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtI) And IsNumeric(txtA)
And IsNumeric(txtC) Then
T = CCur(txtT) / 365
Q = CCur(txtQ)
c = CCur(txtC)
A = CCur(txtA)
i = CCur(txtI)
Q1 = Sqr((2 * Q * A) / (i * c))
F = i * c * Q1 + Q * c
n = Q / Q1
t1 = 1 / n
b = Q * (T - (t1 * Int(T / t1)))
txtkq = "Lượng hàng đặt mỗi lần làq=" & CStr(Q1) & vbNewLine & "Tổng chi phí
bé nhất F(q*)=" & CStr(F) & vbNewLine & "Thời gian 1 chu kỳ t*=" & CStr(t1)
110
& "(ngày)" & vbNewLine & "Số chu kỳ trong một năm n*=" & CStr(n) &
vbNewLine & "Điểm đặt hàng B*=" & CStr(b)
Else
MsgBox "du lieu vao sai"
End If
End Sub
Thí dụ minh hoạ
Một cửa hàng kinh doanh thép xây dựng tại một khu vực có tổng nhu cầu
200000 tấn/năm, việc tiêu thụ là đều đặn trong năm, thời gian nhập hàng không
đáng kể. Cửa hàng mua thép từ một nguồn không hạn chế về số lượng. Chi phí cho
một lần đặt hàng là 400$, giá một tấn là 240$, hệ số chi phí bảo quản là 0,05. Thời
gian từ lúc đặt hàng đến khi có hàng vào kho là 2 tháng. Xác định các chỉ số cơ bản
trong dự trữ và tiêu thụ của cửa hàng.
Dựa vào bài toán tổng quát trên chúng ta có thể giải bài toán này bằng
chương trình mô phỏng sau đây:
111
Mô hình dự trữ tiêu thụ đều, bổ sung dần dần
Một trong những tình huống khá phổ biến trong thực tế sản xuất và kinh
doanh là việc bổ sung hàng không tức thời, người ta có thể vừa sản xuất vừa tiêu
thụ hay vừa nhập hàng vừa tiêu thụ. Ở đây, chúng ta xét trường hợp cường độ cung
cấp lớn hơn lớn hơn đáng kể so với cường độ tiêu thụ, vì nếu cường độ cung cấp
bằng cường độ tiêu thụ thì không cần đặt vấn đề dự trữ.
Mô tả bài toán
Giả sử nhu cầu một loại hàng trong thời kỳ T là Q đơn vị. Việc tiêu thụ hàng
là đều đặn và thời gian bổ sung hàng vào kho được tiến hành với cường độ không
đổi K đơn vị trong thời gian T=1. Ta giả thiết rằng K>>Q vì nếu K<=Q thì không
cần đặt vấn đề dự trữ. Chi phí cho mỗi lần đặt hàng là A, giá đơn vị hàng là C, hệ số
chi phí dự trữ là I, thời gian đặt hàng là T0. Hãy xác định số lần đặt hàng và lượng
hàng đặt mỗi lần sao cho chi phí bé nhất.
Xây dựng chương trình
* Đầu vào:
- Tổng công xuất K
- Tổng cầu một loại hàng Q
- Đơn giá hàng C
- Chi phí cho mỗi lần đặt hàng A
- Hệ số chi phí dự trữ I
- Thời gian đặt hàng T0
* Đầu ra của bài toán là:
- Lượng hàng đặt tối ưu mỗi làn q*
- Tổng chi phí bé nhất F(q*)
- Lượng hàng cực đại trong kho S*
- Số lần đặt hàng tỗi ưu n*
- Chu kỳ dự trữ ,tiêu thụ t*
- Điểm đặt hàng tối ưu B*
112
Lưu đồ thuật toán
BEGIN
Nhập : K, Q, C, A, I, T0
)
K
QIC(1
2AQq*
CQ)
K
Q2AQIC(1F(q*)
n* = Q/q* , t*=1/n* , B= Q[T0-t*.int(T0/t*)].
BS*=q*(1-
Q/K)
B*=B B*=(K-Q)(t*-B/Q)
YES
NO
Xuất ra : q* , F(q*), S*, n*, t*, B*
END
113
* Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB
Private Sub Command1_Click()
Dim k As Currency
Dim Q1 As Currency
Dim n As Currency
Dim t1 As Currency
Dim b As Currency
Dim Q As Currency
Dim c As Currency
Dim i As Currency
Dim A As Currency
Dim T As Currency
Dim F As Currency
Dim s As Currency
If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtI) And IsNumeric(txtA)
And IsNumeric(txtC) Then
k = CCur(txtK)
T = CCur(txtT) / 365
Q = CCur(txtQ)
c = CCur(txtC)
A = CCur(txtA)
i = CCur(txtI)
Q1 = Sqr(2 * Q * A / (i * c * (1 - Q / k)))
F = Sqr(2 * A * Q * i * c * (1 - Q / k)) + c * Q
n = Q / Q1
t1 = 1 / n
s = Q1 * (1 - Q / k)
b = Q * (T - (t1 * Int(T / t1)))
114
If b > s Then
b = (k - Q) * (t1 - b / Q)
End If
txtkq = " Lượng hàng đặt mỗi lần là :q*=" & CStr(Q1) & vbNewLine & "Tổng chi
phí bé nhất F(q*)=" & CStr(F) & vbNewLine & "Lượng hàng cực đại trong kho
S*=" & CStr(s) & vbNewLine & " Thời gian 1 chu kỳ t*=" & CStr(CInt(t1 * 365))
& " (ngay)" & vbNewLine & " Số chu kỳ trong 1 năm n*=" & CStr(n) &
vbNewLine & "Điểm đặt hàng B*=" & CStr(b)
Else
MsgBox "Dữ liệu vào sai hãy nhập lại"
End If
End Sub
Thí dụ minh họa
Một cơ sở sản xuất xăm lốp xe hơi có công suất thiết bị 2000000 bộ/năm,
nhu cầu tiêu thụ 1400000 bộ/năm. Chi phí cho 1 lần chuẩn bị sản xuất là 400$, chi
phí sản xuất mỗi bộ 140$. Chi phí bảo quản có hệ số 0.01. Thời gian chuẩn bị 1 đợt
sản xuất 45 ngày. Hãy phân chia nhu cầu trên thành các đợt sản xuất sao cho tổng
chi phí bé nhất.
Dựa vào bài toán tổng quát trên chúng ta có thể giải bài toán này bằng
chương trình mô phỏng sau đây:
115
Mô hình dự trữ trong trường hợp giá hàng thay đổi theo số lượng đặt hàng
mỗi lần (Mô hình dự trữ nhiều mức giá)
Trong các mô hình trên, ta giả thiết giá cuả mỗi đơn vị hàng không đổi.
Thực tế do nhiều lý do khác nhau, giá hàng có thể thay đổi theo qui mô của lô hàng
mua mỗi lần, chẳng hạn người ta có thể chia các mức giá thành: giá bán lẻ, giá bán
buôn câp 1, giá bán buôn cấp 2, hay giá theo đơn đặt hàng có ứng vốn....Nói một
cách tổng quát là giá mỗi đơn vị hàng có thể thay đổi theo số lượng hàng đặt mỗi
lần.
Mô tả bài toán
Nhu cầu một loại hàng trong thời gian T là Q đơn vị. Chi phí cho mỗi lần đặt
hàng là A, hệ số chi phí dự trữ là I, giá hàng thay đổi theo số lượng mua mỗi lần:
Nếu q < s1 giá c1
s1 q<s2 giá c2
s2 q<s3 giá c3
-----------------------
s k-1 q<sk giá ck
116
------------------------
sn-1 q giá cn
Trong đó : s1 < s2 < ..... < sn-1 ta gọi si (i=1,2,....,n) là các mốc thay đổi giá; có thể
xem như s0=0 và sn=+ ; và c1> c2>..... >cn.
Xây dựng chương trình
* Đầu vào:
- Tổng cầu một loại hàng Q
- Số đơn giá D
- Đơn giá hàng Ci
- Lượng hàng đặt Si
- Chi phí cho mỗi lần đặt hàng A
- Hệ số chi phí dự trữ I
- Thời gian đặt hàng T0
* Đầu ra:
- Lượng hàng đặt tối ưu mỗi làn q*
- Tổng chi phí bé nhất F(q*)
- Số lần đặt hàng tỗi ưu n*
- Chu kỳ dự trữ, tiêu thụ t*
- Điểm đặt hàng tối ưu B*
117
Lưu đồ thuật toán
BEGIN
Nhập : Q, Ci, Si, A,
I,T0
iIC
2AQ*iq
Fi(qi*) = CiQ+2AQ/qi* < Fi-1(qi-1*) = Ci-1Q+2AQ/qi-1*
n* = Q/q* , t*=1/n* , B= Q[T0-t*.int(T0/t*)].
qn*≥
sn-1
q*=qn*
F(qn*) = ?
YES
Fn(sn-1) = ?
qn-1*= ?
NO
qn-1*≥
sn-2
YES
N
Xuất ra : q*, F(q*), n*, t*, B*
END
118
* Đoạn chương trình mô phỏng thuật toán bằng ngôn ngữ VB
Private Sub Command1_Click()
Dim n As Currency
Dim t1 As Currency
Dim b As Currency
Dim qu As Currency
Dim i As Integer
Dim A As Currency
Dim T As Currency
Dim F As Currency
Dim Q1 As Currency
Dim I1 As Currency
Dim Q(100) As Currency
Dim Fs(100) As Currency
Dim Fq(100) As Currency
Dim k As Boolean
If IsNumeric(txtT) And IsNumeric(txtQ) And IsNumeric(txtD) And
IsNumeric(txts) And IsNumeric(txtI) And IsNumeric(txts) And IsNumeric(txtD)
And IsNumeric(txtA) And IsNumeric(txtC) Then
T = CCur((txtT) / 365)
Q1 = CCur(txtQ)
A = CCur(txtA)
I1 = CCur(txtI)
For i = 1 To CInt(txtD)
Q(i) = Sqr(2 * A * Q1 / (I1 * c(i)))
Fq(i) = Sqr(2 * A * Q1 * I1 * c(i)) + c(i) * Q1
Next
119
i = CInt(txtD)
If Q(i) >= s(i - 1) Then
qu = Q(CInt(txtD))
F = Fq(CInt(txtD))
Else
Do
i = i - 1
If Q(i) s(i - 1) Then
k = True
End If
Loop While i > 1 And k = False
Fs(i) = A * Q1 / s(i) + (I1 * c(i + 1) * s(i)) / 2 + c(i + 1) * Q1
If Fq(i) < Fs(i) Then
F = Fq(i)
qu = Q(i)
Else
F = Fs(i)
qu = s(i)
End If
End If
n = Q1 / qu
t1 = 1 / n
b = Q1 * (T - t1 * Int(T / t1))
txtkq = "Lượng hàng đặt mỗi lần là q=" & CStr(qu) & vbNewLine & "Tổng chi
phí bé nhất F(q*)=" & CStr(F) & vbNewLine & "Thời gian 1 chu kỳ t*=" &
CStr(CInt(t1 * 365)) & " (ngày)" & vbNewLine & "Số chu kỳ trong một năm n*="
& CStr(n) & vbNewLine & "Điểm đặt hàng B*=" & CStr(b)
Else
120
MsgBox ("Dư liệu nhập sai hãy nhập lại")
End If
End Sub
Thí dụ minh hoạ
Một công ty kinh doanh một loại bóng điện, tổng lượng hàng có khả năng
tiêu thụ là 10000 thùng/năm. Chi phí cho 1 lần đặt mua là 20$; hệ số chi phí bảo
quản là 10%, cường độ bán đều đặn. Thời gian nhập kho không đáng kể. Nếu mỗi
lần đặt mua từ 2000 thùng trở lên thì giá 1 thùng là 120$, ngược lại giá 1 thùng là
120,5$. Xác định lượng hàng mua mỗi lần sao cho tổng chi phí nhỏ nhất; tính thời
gian 1 chu kỳ dự trữ và tiêu thụ, tính điểm đặt hàng tương ứng.
3.2. Bài toán phân tích dự báo kinh tế
3.2.1. Giới thiệu về phân tích và dự báo kinh tế
Dự báo đã hình thành từ đầu những năm 60 của thế kỉ 20. Khoa học dự báo
với tư cách một ngành khoa học độc lập có hệ thống lí luận, phương pháp luận và
phương pháp hệ riêng nhằm nâng cao tính hiệu quả của dự báo. Người ta thường
nhấn mạnh rằng một phương pháp tiếp cận hiệu quả đối với dự báo là phần quan
trọng trong hoạch định. Khi các nhà quản trị lên kế hoạch, trong hiện tại họ xác
định hướng tương lai cho các hoạt động mà họ sẽ thực hiện. Bước đầu tiên trong
121
hoạch định là dự báo hay là ước lượng nhu cầu tương lai cho sản phẩm hoặc dịch vụ
và các nguồn lực cần thiết để sản xuất sản phẩm hoặc dịch vụ đó.
Như vậy, dự báo là một khoa học và nghệ thuật tiên đoán những sự việc sẽ
xảy ra trong tương lai, trên cơ sở phân tích khoa học về các dữ liệu đã thu thập
được.
Khi tiến hành dự báo ta căn cứ vào việc thu thập xử lý số liệu trong quá khứ và
hiện tại để xác định xu hướng vận động của các hiện tượng trong tương lai nhờ vào
một số mô hình toán học.
Dự báo có thể là một dự đoán chủ quan hoặc trực giác về tương lai. Nhưng
để cho dự báo được chính xác hơn, người ta cố loại trừ những tính chủ quan của
người dự báo.
Ngày nay, dự báo là một nhu cầu không thể thiếu được của mọi hoạt động
kinh tế - xác hội, khoa học - kỹ thuật, được tất cả các ngành khoa học quan tâm
nghiên cứu.
3.2.2. Các phương pháp phân tích và dự báo
Phương pháp hồi quy đơn
Còn gọi là hồi quy đơn biến, dùng xét mối quan hệ tuyến tính giữa 1 biến
kết quả và 1 biến giải thích hay là biến nguyên nhân (nếu giữa chúng có mối
quan hệ nhân quả). Trong phương trình hồi quy tuyến tính, một biến gọi là: biến
phụ thuộc; một biến kia là tác nhân gây ra sự biến đổi, gọi là biến độc lập.
Phương trình hồi quy đơn biến (đường thẳng) có dạng tổng quát:
Y = a + bX (3.1)
Trong đó:
Y: biến số phụ thuộc (dependent variable);
X: biến số độc lập (independent variable);
a: tung độ gốc hay nút chặn (intercept);
b: độ dốc hay hệ số gốc (slope).
Y trong phương trình trên được hiểu là Y ước lượng, người ta thường viết
dưới hình thức có nón
^
Y
122
Lưu đồ thuật toán:
Ví dụ:
Phương trình tổng chi phí của doanh nghiệp có dạng: Y = a + Bx
Trong đó:
Y: Tổng chi phí phát sinh trong kỳ;
X: Khối lượng sản phẩm tiêu thụ;
a: Tổng chi phí bất biến;
b: chi phí khả biến đơn vị sản phẩm; bX: Tổng chi phí khả biến.
BEGIN
Nhập n giá trị X, Y
của năm trước
X=0
Y = a
b =
a = Y – bX
Giá trị Y của năm tiếp
theo
END
123
Đồ thị 3.1. Ứng xử của các loại chi phí
Nhận xét
Với phương trình trên, tổng chi phí Y chịu ảnh hưởng trực tiếp của khối
lượng hoạt động X theo quan hệ tỷ lệ thuận. Khi X tăng dẫn đến Y tăng; khi X giảm
dẫn đến Y giảm
Khi X = 0 thì Y = a: Các chi phí như tiền thuê nhà, chi phí khấu hao, tiền
lương thời gian và các khoản chi phí hành chính khác là những chi phí bất biến,
không chịu ảnh hưởng từ thay đổi của khối lượng hoạt động.
Đường biểu diễn a song song với trục hoành. Trị số a là hệ số cố định, thể
hiện “chi phí tối thiểu” trong kỳ của doanh nghiệp (nút chặn trên đồ thị).
Trị số b quyết định độ dốc (tức độ nghiêng của đường biểu diễn chi phí trên
đồ thị)
Đường tổng chi phí Y = a + bX và đường chi phí khả biến bX song song với
nhau vì giữa chúng có cùng chung một độ dốc b (slope). Xuất phát điểm của
đường tổng chi phí bắt đầu từ nút chặn a (intercept = a) trên trục tung; trong khi
đó, đường chi phí khả biến lại bắt đầu từ gốc trục toạ độ vì có nút chặn bằng 0
(intercept = 0). Hay nói một cách khác, theo nội dung kinh tế, khi khối lượng
hoạt động bằng 0 (X=0) thì chi phí khả biến cũng sẽ bằng 0 (bX=0).
Ví dụ chi tiết:
Có tình hình về chi phí hoạt động (tài khoản 641 và tài khoản 642: chi phí
bán hàng và chi phí quản lý doanh nghiệp) và doanh thu (tài khoản 511) tại một
doanh nghiệp được quan sát qua các dữ liệu của 6 kỳ kinh doanh như sau: (đơn vị
tính: triệu đồng).
X
Y
Hình 4.9
bX
0
a
124
Kỳ kinh doanh Doanh thu bán hàng Chi phí hoạt động
1 1.510 323
2 1.820 365
3 2.104 412
4 2.087 410
5 1.750 354
6 2.021 403
Bảng 3.1. Tình hình thực hiện chi phí của 6 kỳ kinh doanh
Yêu cầu: Phân tích cơ cấu chi phí hoạt động (bất biến, khả biến) của
doanh nghiệp.
Hướng dẫn:
Yêu cầu của vấn đề là thiết lập phương trình chi phí hoạt động của doanh
nghiệp, tức đi tìm giá trị các thông số a, b với mục đích phát hiện quy luật biến
đổi của chi phí này trước sự thay đổi của doanh thu, nhằm đến việc dự báo chi
phí cho các quy mô hoạt động khác nhau hoặc cho các kỳ kinh doanh tiếp theo.
Phương trình chi phí hoạt động có dạng:
Y = a + bX
Trong đó:
a: Tổng chi phí bất biến
b: chi phí khả biến 1 đơn vị doanh thu
X: Doanh thu bán hàng
Y: Tổng chi phí hoạt động
Có nhiều phương pháp thống kê tính a, b như:
Phương pháp cực trị:
Còn gọi là phương pháp cận trên - cận dưới (High - low method). Cụ thể để
tìm trị số a, b của phương trình theo ví dụ trên bằng cách sử dụng công thức và cách
125
tính toán như sau:
b =
Hiệu số của chi phí cao nhất và thấp nhất
Hiệu số của doanh thu cao nhất và thấp nhất
Trong đó:
Chi phí cực đại: 412
Chi phí cực tiểu: 323
Doanh thu cực đại: 2.104
Doanh thu cực tiểu: 1.510
Từ phương trình: Y = a +bX, suy ra: a = Y - bX;
Tại điểm đạt doanh thu cao nhất (high), ta có:
a = 412 - 0,15 x 2.104 = 96,4
Tại điểm đạt doanh thu thấp nhất (low), ta có:
a = 323 - 0,15 x 1.510 = 96,4
Phương trình chi phí kinh doanh đã được thiết lập:
Y = 96,4 + 0,15X
Cài đặt chương trình:
b =
412 - 323
= 0,15
2.104 - 1.510
126
Code chương trình:
‘ Load du lieu
Private Sub Command1_Click()
i = 1
Do Until Data1.Recordset.EOF
If i = 1 Then
Text1.Text = Data1.Recordset.Fields("nam")
Text4.Text = Data1.Recordset.Fields("chiphi")
Text7.Text = Data1.Recordset.Fields("doanhthu")
End If
If i = 2 Then
Text2.Text = Data1.Recordset.Fields("nam")
Text5.Text = Data1.Recordset.Fields("chiphi")
Text8.Text = Data1.Recordset.Fields("doanhthu")
127
End If
If i = 3 Then
Text3.Text = Data1.Recordset.Fields("nam")
Text6.Text = Data1.Recordset.Fields("chiphi")
Text9.Text = Data1.Recordset.Fields("doanhthu")
End If
i = i + 1
j = j + 1
Data1.Recordset.MoveNext
Loop
End Sub
-----------------------------------------------------------------------
Private Sub Command2_Click()
'xoa du lieu o cac o textbox
Text1.Text = ""
Text2.Text = ""
Text3.Text = ""
Text4.Text = ""
Text5.Text = ""
Text6.Text = ""
Text7.Text = ""
Text8.Text = ""
Text9.Text = ""
Text10.Text = ""
'ham dua con tro ve text 1
Text1.SetFocus
End Sub
128
-------------------------------------------------------------------------
Private Sub Command3_Click()
'tinh max chi phi'
Max = val(Text4.Text)
If Max < val(Text5.Text) Then
Max = val(Text5.Text)
End If
If Max < val(Text6.Text) Then
Max = val(Text6.Text)
End If
maxchiphi.Text = Str(Max)
'------------------------------------------------'
'tinh min chi phi'
Min = val(Text4.Text)
If Min > val(Text5.Text) Then
Min = val(Text5.Text)
End If
If Min > val(Text6.Text) Then
Min = val(Text6.Text)
End If
minchiphi.Text = Str(Min)
'------------------------------------------------'
'tinh max doanh thu'
maxdt = val(Text7.Text)
If maxdt < val(Text8.Text) Then
maxdt = val(Text8.Text)
End If
129
If maxdt < val(Text9.Text) Then
maxdt = val(Text9.Text)
End If
maxdoanhthu.Text = Str(maxdt)
'-------------------------------------------'
'tinh min doanh thu'
mindt = val(Text7.Text)
If mindt > val(Text8.Text) Then
mindt = val(Text8.Text)
End If
If mindt > val(Text9.Text) Then
mindt = val(Text9.Text)
End If
mindoanhthu.Text = Str(mindt)
'-------------------------------------------------------------------------
'tinh b
If Text10.Text = "" Then
MsgBox ("Nhap doanh thu du bao")
Style = vbOKOnly
Text10.SetFocus
Else
b = (maxchiphi - minchiphi) / (maxdoanhthu - mindoanhthu)
a = maxchiphi - b * maxdoanhthu
y = a + b * Val(Text10.Text)
ketqua.Text = y
'tinh ME,MAE,MPE,MAPE,MSE,RMSE
130
a1 = Val(Text4.Text) - Val(Text7.Text)
a2 = Val(Text5.Text) - Val(Text8.Text)
a3 = Val(Text6.Text) - Val(Text9.Text)
Mee = (a1 + a2 + a3) / 3
Mae = (Abs(a1) + Abs(a2) + Abs(a3)) / 3
Mpe = ((a1 / Val(Text6.Text) + a2 / Val(Text7.Text) + a3 / Val(Text8.Text)) * 100)
/ 3
Mape = ((Abs(a1 / Val(Text3.Text)) + Abs(a2 / Val(Text4.Text)) + Abs(a3 /
Val(Text5.Text))) * 100) / 3
Mse = (a1 * a1 + a2 * a2 + a3 * a3) / 3
Rmse = Sqr(Mse)
a.Text = Mee
b.Text = Mae
c.Text = Mpe
d.Text = Mape
e.Text = Mse
f.Text = Rmse
Form2.Show
End If
End Sub
----------------------------------------------------------------------------
Private Sub Command4_Click()
End
End Sub
Kết quả:
131
Code form kết quả:
Private Sub Command1_Click()
kq.Recordset.AddNew
a1.Text = Text1.Text
a2.Text = Text2.Text
a3.Text = Text3.Text
a4.Text = Text4.Text
a5.Text = Text5.Text
a6.Text = Text6.Text
a7.Text = Text7.Text
kq.Refresh
End Sub
--------------------------------------------------------------
132
Private Sub Command2_Click()
End
End Sub
---------------------------------------------------------------
Private Sub Form_Load()
Text1.Text = Form1.ketqua.Text
Text2.Text = Form1.a.Text
Text3.Text = Form1.b.Text
Text4.Text = Form1.c.Text
Text5.Text = Form1.d.Text
Text6.Text = Form1.e.Text
Text7.Text = Form1.f.Text
'--------------------------'
End Sub
Phương pháp hồi quy bội
Còn gọi là phương pháp hồi quy đa biến, dùng phân tích mối quan hệ
giữa nhiều biến số độc lập (tức biến giải thích hay biến nguyên nhân) ảnh
hưởng đến 1 biến phụ thuộc (tức biến phân tích hay biến kết quả).
Trong thực tế, có rất nhiều bài toán kinh tế - cả lĩnh vực kinh doanh và
kinh tế học, phải cần đến phương pháp hồi quy đa biến. Chẳng hạn như phân
tích những nhân tố ảnh hưởng đến thu nhập quốc dân, sự biến động của tỷ giá
ngoại hối; xét doanh thu trong trường hợp có nhiều mặt hàng; phân tích tổng chi
phí với nhiều nhân tố tác động; phân tích giá thành chi tiết; những nguyên nhân
ảnh hưởng đến khối lượng tiêu thụ
Một chỉ tiêu kinh tế chịu sự tác động cùng lúc của rất nhiều nhân tố thuận
chiều hoặc trái chiều nhau. Chẳng hạn như doanh thu lệ thuộc và giá cả, thu
nhập bình quân xã hội, lãi suất tiền gửi, mùa vụ, thời tiết, quảng cáo tiếp thị
Mặt khác, giữa những nhân tố lại cũng có sự tương quan tuyến tính nội tại với
nhau. Phân tích hồi quy giúp ta vừa kiểm định lại giả thiết về những nhân tố tác
động và mức độ ảnh hưởng, vừa định lượng được các quan hệ kinh tế giữa
chúng. Từ đó, làm nền tảng cho phân tích dự báo và có những quyết sách phù
133
hợp, hiệu quả, thúc đẩy tăng trưởng.
Phương trình hồi quy đa biến dưới dạng tuyến tính:
Y = b0 + b1X1 + b2X2 + + biXi + bnXn + e ...............................................
(3.2)
Trong đó: Y: biến số phụ thuộc (kết quả phân tích);
b0: tung độ gốc;
b1: các độ dốc của phương trình theo các biến
Xi; Xi: các biến số (các nhân tố ảnh hưởng);
e: các sai số
Lưu ý: Y trong phương trình trên được biểu hiện là Y ước lượng, người
ta thường viết dưới hình thức có nón ( Y )
Mục tiêu của phương pháp hồi quy đa biến là dựa vào dữ liệu lịch sử các
biến số Yi, Xi, dùng thuật toán để đi tìm các thông số b0 và bi xây dựng phương
trình hồi quy để dự báo cho ước lượng trung bình của biến Yi.
Lưu đồ thuật toán:
134
Phương pháp thống kê hồi quy
Còn gọi là thống kê hồi quy đơn giản (simple regression statistical) dùng
phương pháp thống kê toán để tính các hệ số a, b của phương trình hồi quy dựa
trên toàn bộ quan sát của tập dữ liệu. Đây là phương pháp đáng tin cậy nhất và vì
vậy đòi hỏi công phu hơn.
Vẫn dùng số liệu ở ví dụ trên, lập bảng tính các trị số cơ sở rồi căn cứ vào
công thức để tính các thông số của phương trình.
Ta có công thức trong thống kê toán a = - b
BEGIN
Nhập vào n giá trị X, Y
của năm trước
rxixj=
ji
jiji
xx
xxxx
.
.
k
k
iixi
xx
1
)
2
(
2 1 1 2
2 1 2
2 21
yx yx x xy
x x x
r r r
b
r
1 2 1 2
1 1 2
1 21
yx yx x xy
x x x
r r r
b
r
22110 xbxbyb
Xuất ra giá trị Y
END
135
Bảng 3.3. Các trị số cơ sở thống kê
Trước hết, xét mức độ tương quan (correlation) giữa biến số phụ thuộc và
biến số độc lập bằng công thức:
N Xi Yi Xi2 Yi2
Xi Yi
iX X
i YY
iX X
i YY
2iX X
2iY Y
1
1.51
0
323
2.280.1
00
104.3
29
487.73
0
-372 -55 20.398 138.384 3.007
2
1.82
0
365
3.312.4
00
133.2
25
664.30
0
-62 -13 796 3.844 165
3
2.10
4
412
4.426.8
16
169.7
44
866.84
8
222 34 7.585 49.284 1.167
4
2.08
7
410
4.355.5
69
168.1
00
855.67
0
205 32 6.594 42.025 1.035
5
1.75
0
354
3.062.5
00
125.3
16
619.50
0
-132 -24 3.146 17.424 568
6
2.02
1
403
4.084.4
41
162.4
09
814.46
3
139 25 3.498 19.321 633
∑
11.2
92
2.2
67
21.521.
826
863.1
23
4.308.5
11
0 0 42.017 270.282 6.575
2( )1
2 2
n
X X Y Y
i i i
R n n
( )( )1
2
( )1
n
X X Y Yi i i
b n
X Xi i
2.267 377,83 378
6
Y
136
R = +1: tương quan hoàn toàn và đồng biến;
R = -1: tương quan hoàn toàn và nghịch biến;
R = càng gần 1:tương quan càng mạnh (0,8< R <1);
R = từ 0,4 đến 0,8: tương quan trung bình;
R = nhỏ hơn 0,4: tương quan yếu;
Ý nghĩa của độ tương quan nói lên cường độ của mối quan hệ tuyến tính
của hai biến X và Y.
Trở lại, thay các giá trị đã tính ở bảng 3.7 vào công thức (3.3) và (3.4) ở
trên, ta có:
42.017
0.993
270.282 (6.575)
R
137
377.83 (0.115 1882) 86,12a Y bX x
Vậy phương trình hồi quy có dạng Y = a + bX sẽ là:
Y = 86,12 + 0,155X
Phương pháp Box - Jenkins
Dưới đây nghiên cứu một cách có hệ thống các dạng khác nhau của chuỗi
thời gian dựa vào các tính chất của nó. Mục tiêu là tìm trong số tất cả các mô hình
ARIMA (AR: tự hồi quy, MA: trung bình động, I: thông số cho biết bậc cần thiết để
có thể tạo một chuỗi ổn định) 1 mô hình thích hợp nhất với số liệu của hiện tượng
nghiên cứu.
Phương pháp bao gồm 3 bước chính sau đây:
Bước 1: Tìm các mô hình thích hợp nhất
Đây là bước quan trọng và khó nhất. Nó cho phép nhận biết được trong họ
tất cả các mô hình ARLMA mô hình nào là có khả năng thích hợp nhất. Phương
pháp dựa vào nghiên cứu các biểu đồ tương quan đơn và các biểu đồ tương quan
riêng phần. Một vài nguyên tắc sau đây cho phép tìm các thông số p,d,q của mô
hình ARIMA.
* Khử tính chu kỳ
Để đơn giản trong trường hợp chuỗi nghiên cứu có chứa yếu tố biến đổi có
tính chu kỳ ta nên > yếu tố này trước khi đi vào các xử lý thống kê nhằm
đơn giản hóa cho các bước tính sau.
* Khảo sát và xác định bậc của xu thế nếu có
Trong trường hợp biểu đồ tương quan đơn giảm chậm hoặc hoàn toàn không
giảm, chuỗi có chứa một xu thế. Trong trường hợp này ta sẽ loại tính xu thế nó nhờ
vào áp dụng của toán tử sai biệt lên chuỗi. Trong thực tế ta có thể gặp trường hợp
2 2
( ) ( ) 42.0171
0.1152
( ) 270.282
1
n
X X Y Y
i i i
b n
X X
i i
138
d=l hoặc 2. Giá trị thích hợp của d sẽ cho ta một biểu đồ tương quan đơn có xu thế
giảm nhanh.
* Xác định p,q của mô hình ARMA nhờ vào biểu đổ tương quan
- Nếu biểu đồ tương quan đơn chỉ có q giá trị đầu tiên là khác 0 (q=3 là lớn
nhất) và các giá trị của biểu đồ tương quan riêng phần giảm từ từ ta có thể tiên đoán
có một MA(q).
- Nếu biểu đồ tương quan riêng phần chỉ có p giá trị đầu tiên là khác 0 (p=3
là lớn nhất) và các giá trị của biểu đồ tương quan đớn giảm từ từ ta có thể tiên đoán
có một AR(P).
- Nếu biểu đồ tương quan đơn và biểu đồ tương quan riêng phần không có sự
cắt ngắn như hai trường hợp trên, ta sẽ có một quá trình ARMA và các thông số của
nó tùy thuộc vào dạng cụ thể của cấc biểu đồ tương quan.
Trong thực hành, phương pháp phân tích đồ thị chỉ cho ta tìm được p q trong
các trường hợp đơn giản mà thôi. Trong trường hợp tổng quát, ta có thể áp dụng các
tiêu chuẩn sau đây để xác định các thông số p, q trong một mô hình ARMA. Thực
chất chung của các tiêu chuẩn này là dựa vào sự khảo sát các giá trị liên quan đến
phương sai của chuỗi sai số cho bởi mô hình với thông số đề nghị.
Có 3 tiêu chuẩn thông dụng được sử dụng như sau:
Tiêu chuẩn Akaike:
Akaike = Log(%rss) + 2
Tiêu chuẩn BIC:
BIC = Log(%rss) + (p + q) *
Tiêu chuẩn HQ:
HQ = Log(%rss) + 2(p + q) *
270
với: %rss : tổng các thặng dư bình phương của mô hình đề nghị
%nobs : số lượng quan trắc.
139
Trong trường hợp lý tưởng, giá trị chọn của p,q tương ứng với trường hợp
cho ta các giá trị Akaike, BIC, HQ cực tiểu. Trong áp dụng ta có thể có trường hợp
ở đó giá trị p,q đề nghị không làm cho 3 tiêu chuẩn này đồng thời cực tiểu. Tuy vậy
thường các tiêu chuẩn này cho giá trị p,q tối ưu không khác nhau lớn. Trong trường
hợp này ta sẽ khảo sát từng tổ hợp (p,q) cụ thể để quyết định chọn mô hình hợp lý
nhất.
Bước 2: Ước lượng các hệ số của mô hình
Trong trường hợp mô hình AR(P), tác giả áp dụng phương pháp bình
phương tối thiểu hay sử dụng quan hệ giữa tính tự tương quan và các hệ số của mô
hình (phương trình Yule Walker). ước lượng các hệ số cho mô hình MA(Q) tương
đối phức tạp hơn. Các tác giả đề nghị sử dụng một phương pháp lặp dưới dạng quét
mà chúng ta có thể hiểu một cách đơn giản như sau.
Giả sử ta có 1 mô hình ARMA(2,2) xác định bởi:
(l-q1D-q2D2)yt = (l-aD1-a2D2)*et
và Chúng ta có thể viết dưới dạng:
yt =
Ta đặt:
Do đó:
Từ đó chúng ta có thể khởi đầu bằng cách tính quét với 2 khoảng giá trị chấp
nhận được cho a1 và a2 và với một gia số cho trước. Tiếp theo, cho mỗi cặp giá trị
của a1 và a2 ta đặt no = o Và n1 =o và Chúng ta sẽ ước lượng giá trị của vl theo các
bước sau:
n2 = y2
n3 = y3 + a2 n2
n4 = y4 + a1 n1+a2 n2
etc....
140
sau khi tính tất cả các giá trị của nt ta sẽ ước lượng các thông số q1 Và q2 bởi
phương pháp bình phương tối thiểu áp dụng vào phương trình sau:
nt = q1nt-1 + q2nt-2 + et
và chúng ta sẽ lấy giá trị al, a2 sao cho các tổng bình phương của các thặng
dư từ phương trình hồi quy trên tối thiểu. Chú ý phương pháp này chỉ có giá trị
trong trường hợp số lượng các thông số cần xác định không nhiều lắm. Ngoài
phương pháp bình phương tối thiểu ta còn có thể áp dụng phương pháp cực đại hóa
các hàm tương thích.
Bước 3: Kiểm tra giá trị của mô hình và dự báo
Sau khi các thông số của mô hình được xác định, chúng ta sẽ kiểm định các
kết quả của ước lượng này.
Các hệ số của mô hình phải khác 0 (kiểm định Student cổ điển).
Nếu có một hay nhiều hệ số không thỏa mãn, ta sẽ loại bỏ nó ra khỏi mô
hình AR hoặc MA đang xét.
Phân tích các giá trị thặng dư được thực hiện từ 2 tiêu chuẩn sau:
- Giá trị trung bình số học triệt tiêu, trong trường hợp ngược lại ta nên thêm
một hằng số vào mô hình.
- Chuỗi giá trị thặng dư là một nhiễu trắng. Các giá trị th.ống kê của Box-
pierce và của Ljung-box cho phép kiểm định tính chất này. Nếu nó không phải là một
nhiễu trắng ta kết luận mô hình là không hoàn chỉnh và ta phải thêm vào mô hình các
bậc bổ sung cần thiết.
- Bước kiểm định mô hình rất quan trọng? và có thể ta phải trở lại bước thứ 1
nếu mô hình đề nghị không thích hợp. Một khi mô hình đã được kiểm định, ta có
thể tiến hành dự báo giới hạn trong một vài chu kỳ. Phân tích chuỗi thời gian với
mô hình SARLMA chỉ cho phép tiến hành các dự báo ngần hạn. Nó không cho
phép một dự báo trung hạn và dài hạn với độ chính xác cần có, vì biến độ của sai số
gia tăng rất nhanh trong trường hợp này.
141
Chúng ta có thể tóm tắt các bước cơ bản của phương pháp Box-Jenkins như sau:
Phương pháp dãy số thời gian
Khái niệm
Mặt lượng của hiện tượng thường xuyên biến động qua thời gian. Trong
thống kê để nghiên cứu sự biến động này ta thường dựa vào dãy số thời gian.
Dãy số thời gian là dãy số các trị số của chỉ tiêu thống kê được sắp xếp theo
thứ tự thời gian.
Các phương pháp biểu hiện xu hướng phát triển của hiện tượng
a. Phương pháp hồi quy
Trên cơ sở dãy số thời gian, người ta tìm một hàm số (gọi là phương trình
hồi quy) phản ánh sự biến động của hiện tượng qua thời gian có dạng tổng quát như
Tìm các thông tin thích hợp, khử
tính chu kỳ, khảo sát và xác định
bậc của xu thế
Phân tích biểu đồ tương quan đơn
và tương quan riêng phần: xác định
biến p,q của mô hình AR và MA
Ước lượng các hệ số của mô hình
Kiểm tra mô hình: Phân tích các hệ
số và thặng dư
Dự báo=a+bX
142
sau:
Trong đó: a0, a1, . . . . ., an : các tham số.
t: thứ tự thời gian.
Để lựa chọn đúng đắn dạng của phương trình hồi quy đòi hỏi phải dựa vào
sự phân tích đặc điểm biến động của hiện tượng qua thời gian, đồng thời kết hợp
với một số phương pháp đơn giản khác (như dựa vào đồ thị, dựa vào độ tăng (giảm)
tuyệt đối, dựa vào tốc độ phát triển, . . . .)
Các tham số ai (i= 1,2,3, . . . ,n) thường được xác định bằng phương pháp
bình phương nhỏ nhất. Tức là:
2( ) minLT TTy y
Sau đây là 1 số dạng phương trình hồi quy đơn giản thường được sử dụng: _
Phương trình đường thẳng: y = a0 + a1t
Phương trình đường thẳng được sử dụng khí các lượng tăng (hoặc giảm)
tuyệt đối liên hoàn (còn gọi là sai phân bậc 1) xấp sỉ nhau.
Để xác định a0 và a1: ta áp dụng phương pháp bình phương nhỏ nhất. Từ đó
a0 và a1 được xác định bởi hệ phương trình sau:
0 1
1 1
2
0 1
1 1 1
(*)
n n
i i
n n n
i i i
y na a t
yt a t a t
Ví dụ: Có số liệu về doanh thu của một đơn vị sản xuất qua các năm như sau:
Năm 1998 1999 2000 2001 2002
Doanh thu (Tỷ đồng) 30 32 31 34 33
Để tính a0 và a1 cho ví dụ này, ta lập bảng sau:
Năm y t t2 ty yLTt
1998 30 1 1 30 30,4
1999 32 2 4 64 31,2
143
2000 31 3 9 93 32,0
2001 34 4 16 136 32,8
2002 33 5 25 165 33,6
160 15 55 488
Thế các giá trị tương ứng trong bảng vào hệ phương trình trên (*) ta được:
0 1
0 1
160 5 15
488 15 55
a a
a a
Từ đây ta tính được a0 = 29,6 và a1 = 0,8. Thế các giá trị t lần lượt từ 1 đến 5
tương ứng với thời gian từ năm 1998 đến năm 2002 ta tính được các giá trị doanh
thu theo đường hồi quy lý thuyết y= a0 + a1t là các giá trị trong cột yLTt.
Ta nhận thấy rằng: biến t là biến thứ tự thời gian, ta có thể thay t bằng t'
(nhưng vẫn đảm bảo tính thứ tự), sao cho ,t = 0 thì việc tính toán sẽ đơn giản
hơn. Có 2 trường hợp:
1. Nếu thứ tự thời gian là số lẻ thì lấy thời gian đứng ở giữa bằng 0, các thời
gian đứng trước là -1, -2, -3 và t đứng sau là 1, 2, 3.
2. Nếu thứ tự thời gian là số chẵn thì lấy hai thời gian đứng giữa là -1 và 1,
các thời gian đứng trược lần lượt là -3, -5, . . . và đứng sau lần lượt là 3, 5, . . .
Với 't =0 thì hệ phương trình trên sẽ là:
y = na0 => a0 = y /n
't y = 21a t => a1 = 't y / '2t
Khi đó: yLT’ = a'0 +a'1t'
Với cách chọn 't = 0, ta lập bảng sau:
Năm y t' t'2 t'y yLTt
1998 30 -2 4 -60 30,4
1999 32 -1 1 -32 31,2
2000 31 0 0 0 32,0
144
2001 34 1 1 34 32,8
2002 33 2 4 66 33,6
160 0 10 8
Bảng 5.8
a0 = 160 / 5 = 32 a1 = 8 /10 = 0,8
yT’ =32 + 0,8t' (*)
Để dự đoán sản lượng cho năm 2003 thế t = 3 vào phương trình (*) ta được
y = 32+0,8*3 = 34,4 (tỷ đồng)
Với hai cách chọn t # 0 và t = 0, ta thấy kết quả vẫn như nhau.
b. Phương pháp biểu hiện biến động thời vụ
Sự biến động của một số hiện tượng trong kinh tế xã hội thường có tính thời
vụ, nghĩa là hàng năm trong từng thời gian nhất định, sự biến động được lặp đi lặp
lại.
Nghiên cứu biến động thời vụ nhằm đề ra những chủ trương biện pháp phù hợp,
kịp thời, hạn chế những ảnh hưởng của biến động thời vụ đối với sản xuất và sinh hoạt
của xã hội.
Nhiệm vụ của nghiên cứu thống kê là dựa vào số liệu của nhiều năm (ít nhất
là ba năm) để xác định tính chất và mức độ của biến động thời vụ. Phương pháp này
thường được sử dụng để tính các chỉ số thời vụ.
Chỉ số thời vụ được tính theo công thức:
0/ 100(%)i iI y y x
Trong đó:
Ii số thời vụ của thời gian i.
iy : Số bình quân của các mức độ cùng thời gian i.
0y : Số bình quân của tất cả các mức độ trong dãy số.
Ví dụ: Có số liệu về sản lượng điện thoại đường dài của một đơn vị Bưu điện
qua các năm như sau:
145
Tháng
Sản lượng điện thoại
đường dài (cuộc)
Cộng
các
tháng
cùng tên
( iy )
Bình
quân các
tháng
cùng tên
( iy )
Chỉ số
thời vụ
Ii = (yi
/ iy )x100
1997 1998 1999
A 1 2 3 4 5 6 7
1 137.139 184.326 241.892 563.357 187.785 72.38 361.937
2 130.009 213.218 270.682 613.909 204.636 78.88 394.415
3 159.241 234.3 350.684 744.255 248.075 95.62 478.158
4 147.674 222.667 338.037 708.378 236.125 91.02 455.108
5 148.589 236.26 353.488 738.337 246.112 94.87 474.356
6 162.643 229.976 368.601 761.22 253.74 97.81 489.058
7 160.598 235.483 376.304 772.385 257.461 99.25 496.231
8 172.235 246.789 383.399 802.423 267.474 103.1 515.529
9 180.119 249.628 410.292 840.039 280.013 107.9 539.696
10 181.161 254.651 421.905 857.717 285.905 110.2 551.054
11 185.552 246.818 415.502 847.872 282.624 108.94 544.729
12 197.785 259.143 632.233 1089.16 363.053 139.95 699.748
Cộng 9.339.023
9.339.023 1.037.669
36
y (cuộc)
Qua kết quả trình bày ở bảng trên ta thấy sản lượng điện thoại đường dài
trong nước tăng cao nhất ở những tháng cuối năm (gần tết) và giảm thấp nhất ở
tháng giêng và tháng hai.
146
Giả sử kế hoạch sản lượng điện thoại cho năm 2000 là 6 000 000 cuộc thì ta
dự đoán sản lượng của từng tháng của năm 2000 sẽ là: các sản lượng trong cột (7)
147
TÀI LIỆU THAM KHẢO
Tài liệu bắt buộc:
[1]. Vũ Xuân Nam, Nguyễn Văn Huân, Lê Anh Tú (2012), Lập trình ứng dụng kinh
tế, Tài liệu lưu hành nội bộ Khoa HTTT Kinh tế, Trường ĐH CNTT & TT.
[2]. Nguyễn Văn Huân, Nguyễn Thu Hằng (2011), Lý thuyết mô hình toán kinh tế,
Tài liệu lưu hành nội bộ Khoa HTTT Kinh tế, Trường ĐH CNTT & TT.
[3]. Nguyễn Văn Huân, Phạm Việt Bình, (2011), Phân tích dữ liệu và dự báo kinh
tế, NXB Khoa học kỹ thuật.
Tài liệu tham khảo:
[4]. Phạm Văn Dược, (1999), Phân tích hoạt động kinh doanh, Thống kê
[5]. Võ Văn Huy và Huỳnh Ngọc Liễu, (2001), Hệ thống Thông tin Quản lý, Khoa
Học Kỹ Thuật.
[6]. Phạm Thị Thanh Hồng và Phạm Minh Tuấn, (2007), Hệ thống Thông tin Quản
lý, Khoa Học và Kỹ Thuật
[7]. Võ Thành Danh, (2001), Kế toán Phân tích, Thống kê.
Các file đính kèm theo tài liệu này:
- bglaptrinhungdungkinhte_p2_209.pdf