Blog post about this prediction can be found here:
http://bit.ly/2fWF2jq
The predicted priority index of Typhoon Haima is produced by a machine learning algorithm that was trained on four past typhoons: Haiyan, Melor, Hagupit and Rammasun. It uses base line data for the whole country, combined with impact data of windspeeds and rains, and trained on counts by the Philippine government on people affected and houses damaged.
First run
The Priority Index is a 1-5 classification that can be used to identify the worst hit areas: those that need to be visited for further assessments or support first.
Second run
The model now predicts two things:
a weighted index between partially damaged and completely damaged, where partially damaged is counted as 25% of the completely damaged. This has proven to give he highest accuracy.
the precentage of total damage (damaged houses versus all houses)
The absolute number of houses damaged / people affected is insufficiently validated at the moment, and should just be used for further trainng and ground-truthing.
Data sources:
Administrative boundaries (P_Codes) - Philippines Government; Published by GADM and UN OCHA (HDX)
Census 2015 (population) - Philippine Statistics Authority; received from UN OCHA (HDX)
Avg. wind speed (km/h) - University College London
Typhoon path - University College London
Houses damaged - NDRRMC
Rainfall - GPM
Poverty - Pantawid pamilyang pilipino program (aggregated)
For the second run of the algorithm we also included:
Roof and wall materials
New geographical features
The result of different models can be found in the file 'Typhoon Haima - performance of different models - second run.csv' A note on how to interpret this.
date running date
alg_date same
alg_model name of the algorithm used
alg_predict_on name of the learning variable
alg_use_log i s the learning variable transformed in log
code_version version of the learn.py code
All the columns with feat_ indicates the importance of that feature, if not present that feature was not used.
learn_matrix name of the learning matrix with the 5 typhoons
run_name unique run name (pickle files and csv files have this name for this model)
typhoon_to_predict name of a new typhoon to predict
val_accuracy accuracy based on 10 categories of damage 0% 10% 20% …
val_perc_down perc of underpredicted categories
val_perc_up perc of overpredicted categories
Val_best_score best r2 score
Val_stdev_best_score error on best score based on the CV
Val_score_test r2 score on the test set (this should be around +- 5% of the previus number to not overfit
Val_mean_error_num_houses average error on the number of houses
val_median_error_num_houses median
val_std_error_num_houses std deviation of the errors (lower is better)
Algorithm developed by 510.global the data innovation initiative of the Netherlands Red Cross.