Chương 3: THIẾT LẬP CHƯƠNG TRÌNH DỰ BÁO ĐỘNG ĐẤT THEO MÔ HÌNH THỐNG KÊ
3.1. Thuật toán và sơ đồ khối của chương trình dự báo động đất theo mô hình thống kê
Dựa trên cơ sở lý thuyết của phương pháp đã trình bày ở chương 2, chúng tôi đã xây dựng thuật toán của chương trình dự báo động đất theo mô hình thống kê gồm các bước cơ bản như sau:
- Bước 1: - Tạo mảng "dd" là tập hợp các trận động đất có ngày trước ngày topmax, mỗi một phần tử trong mảng gồm có thông tin về tọa độ, thời gian và magnitude của một trận động đất
- Tìm max min tọa độ của tất cả các trận động đất (φmax, φmin, λmax, λmin) - Bước 2: Ứng với từng phần tử (trận động đất) trong mảng dd, gán giá trị hàng và cột (y và x) trong vùng được chia theo kích thước tiểu vùng dfi cho mỗi một đơn vị, tìm xmax, ymax
- Bước 3: Tạo mảng sotrantrongtieuvung [cột][hàng] là tập hợp ghi số lƣợng trận động đất trong các tiểu vùng có vị trí cột hàng x,y; Ví dụ tại x=2, y = 3 có 7 trận động đất thì sotrantrongtieuvung [2][3] = 7.
- Bước 4: Dựa vào mảng sotrantrongtieuvung, tạo đƣợc mảng tieuvung[x][y][i = 1 -
> n] với x, y là tọa độ tiểu vùng, n = số trận trong ô x,y; Ví dụ tại lưới tọa độ cột 3, hàng 2, có 5 trận động đất thì ta có tieuvung[3][2][i = 1 đến 5].
- Bước 5: Loại các tieuvung có số trận động đất trong nó nhỏ hơn nmin.
- Bước 6: Với các tiểu vùng còn lại, tạo mảng dubao[i = 1 -> n] với n là số tiểu vùng thỏa mãn số trận động đất đạt đến nmin.
Ứng với mỗi tiểu vùng[x][y] thỏa mãn nmin, sẽ dự báo đƣợc một trận động đất với những tham số sau: tdb, tdbmin, tdbmax; mdb, mdbmin,mdbmax.
Vì cách tính tdb tương tự mdb, cách tính mdbmax tương tự cách tính tdbmax v.v... nên để
đại lƣợng dự đoán là Xdb, đại lƣợng dự đoán tối đa là Xmax, hay Xmin, đại lƣợng tương ứng ở thời điểm tựa là Xop. Như vậy ta sẽ có :
Xdb = Xtựa + Mo(ΔXop) Xdbmax, min = Xdb ± δX Chú thích:
- Mo là kỳ vọng toán học (hay là giá trị trung bình)
- δX là một nửa giá trị độ lớn của các khoảng tin cậy đối với các giá trị ngẫu nhiên T, được xác định dựa theo hệ số % mong muốn đạt kết quả đúng của người sử dụng phần mềm. Để dễ hình dung có thể nhìn vào hình sau đây:
Hình 3.1: Đồ thị của hàm mật độ xác suất của phân phối chuẩn
Mật độ xác suất của phân phối chuẩn được tính theo công thức sau đây:
(theo công thức 2.8)
Kết quả như trên đồ thị hình 3.1 là trường hợp riêng khi Xdb = 0, và khi người dùng chọn xác suất dự báo Pg = 68% giá trị X [Xdbmin,Xdbmax] thì δX = 1, tức là Xdbmax, min = Xdb ± δX = 0 ± 1 hay
Xdbmin = -1; Xdbmax =1.(với hàm phân phối chuẩn thì với δX=1 thì tương ứng với 68% xác suất phân bố trong khoảng từ [-δX, δX])(Chương 2, trang 26)
Trong trường hợp khi người dùng muốn chọn xác suất tin cậy Pg = 100% thì δX = ∞. Nghĩa là trong thực tế không thể đạt được độ tin cậy Pg = 100%. Đây là bản chất của phương pháp xác suất thống kê và cũng phù hợp với thực tế vì động đất là các sự kiện ngẫu nhiên. Còn trên hình 3.1 đường phân bố chỉ là tiệm cận với trục hoành từ 2 phía
- Bước 7: Kiểm tra mức độ đúng đắn của kết quả dự báo bằng cách lùi danh mục động đất về quá khứ để so sánh với các sự kiện đã thực xảy ra sau thời điểm Topmax. Với các bước cơ bản trong thuật toán đã trình bày ở trên, sơ đồ khối của chương trình dự báo động đất theo mô hình thống kê đã đƣợc xây dựng và đƣợc trình bày trên hình 3.2.
Hình 3.2. Sơ đồ khối của chương trình dự báo động đất theo mô hình thống kê Tạo mảng dd chứa
các trận trước ngày topmax
dd[i].x = chuyểnhệtrục(dd[i].λ) dd[i].y = chuyểnhệtrục(dd[i].φ)
với hệ trục x,y là các số nguyên, điểm trên cùng bên trái có giá trị (0,0), bước
của x,y là dφ được chọn bởi người sử dụng phần mềm
i:=1 → n
Tạo mảng sốtrậntrongtiểuvùng[x][y] chứa số lƣợng các trận động đất trong ô (x,y)
Tạo mảng tiểuvùng[x][y][i] chứa các trận động đất thứ tự i=1-> n trong tiểuvùng (x,y)
j:=1 →số tiểu vùng sốôsửdụng = số tiểu vùng
Nếu sốtrậntrongtiểuvùng(j)
<nmin (nmin được người dùng chọn)
→ sốôsửdụng = sốôsửdụng-1
Tạo mảng dựbáo[i] với i [1, sốôsửdụng]
j:=1 →số tiểu vùng sốôsửdụng = số tiểu vùng
Nếu sốtrậntrongtiểuvùng(j)
<nmin
→ quy đổi từ j → i dựbáo tính: dựbáo[i].tdb, tdbmin, tdbmax; mdb,
mdbmin,mdbmax db = tựa + pr
max,min= db ± k . 2(db) với kđƣợc tính theo phân bố Gauss
Kết thúc và kiểm tra kết quả so với các trận t > topmax
xuất ra file danhmucTK.xml 1
3
4
5
6
7
2