ModelsDir <- '/home/kate/Research/Property/Models/'
DataDir <- '/home/kate/Research/Property/Data/'
ModelName <- "wc_gamma_glm"
UseSavedIfExists <- TRUE
library(Metrics)
source('/home/kate/code/Utils/MyFunctions.R')
training_dataset <- read.csv(paste(DataDir,"property_wcs_training_for_gamma.csv", sep = ""), header=TRUE)
testing_dataset <- read.csv(paste(DataDir,"property_wcf_testing.csv", sep = ""), header=TRUE)
prediction_dataset <- read.csv(paste(DataDir,"property_water_claims_non_cat_fs.csv", sep = ""), header=TRUE)
formula <- cova_il_nc_water ~ ecy + cova_deductible + log_yearbuilt + log_sqft + log_water_risk_sev_3_blk + rep_cost_3_blk + usagetype_encd
Model <- glm(formula,family = Gamma(link = "log"),data = training_dataset)
summary(Model)
training_dataset$gamma_glm <- predict.glm(Model, training_dataset, type = "response", se.fit = T)$fit
testing_dataset$gamma_glm <- predict.glm(Model, testing_dataset, type = "response", se.fit = T)$fit
prediction_dataset$gamma_glm <- predict.glm(Model, prediction_dataset, type = "response", se.fit = T)$fit
Train Dataset Scores
NormalizedWeightedGini(training_dataset$cova_il_nc_water,training_dataset$gamma_glm,training_dataset$ecy)
mae(training_dataset$cova_il_nc_water,training_dataset$gamma_glm)
rmse(training_dataset$cova_il_nc_water,training_dataset$gamma_glm)
Test Dataset Scores
NormalizedWeightedGini(testing_dataset[testing_dataset$cova_ic_nc_water>0,]$cova_il_nc_water,testing_dataset[testing_dataset$cova_ic_nc_water>0,]$gamma_glm,testing_dataset[testing_dataset$cova_ic_nc_water>0,]$ecy)
mae(testing_dataset[testing_dataset$cova_ic_nc_water>0,]$cova_il_nc_water, testing_dataset[testing_dataset$cova_ic_nc_water>0,]$gamma_glm)
rmse(testing_dataset[testing_dataset$cova_ic_nc_water>0,]$cova_il_nc_water, testing_dataset[testing_dataset$cova_ic_nc_water>0,]$gamma_glm)
write.table(training_dataset,paste(DataDir,"property_wcs_training_for_gamma.csv", sep = ""), sep=",", col.names=TRUE, row.names = FALSE)
write.table(testing_dataset,paste(DataDir,"property_wcf_testing.csv", sep = ""), sep=",", col.names=TRUE, row.names = FALSE)
write.table(prediction_dataset,paste(DataDir,"property_water_claims_non_cat_fs.csv", sep = ""), sep=",", col.names=TRUE, row.names = FALSE)