Last active
October 8, 2017 12:48
Revisions
-
mages revised this gist
Oct 8, 2017 . 1 changed file with 4 additions and 4 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -51,15 +51,15 @@ generated quantities{ real Y_mean[N + N_mis]; real Y_pred[N + N_mis]; for(i in 1:N){ // Posterior parameter distribution of the mean Y_mean[i] = ult[origin[i]] * weibull_cdf(dev[i], omega, theta); // Posterior predictive distribution Y_pred[i] = normal_rng(Y_mean[i], sigma*sqrt(Y_mean[i])); } for(i in 1:N_mis){ // Posterior parameter distribution of the mean Y_mean[N + i] = ult[origin_mis[i]] * weibull_cdf(dev_mis[i], omega, theta); // Posterior predictive distribution Y_pred[N + i] = normal_rng(Y_mean[N + i], sigma*sqrt(Y_mean[N + i])); } } -
mages revised this gist
Oct 30, 2016 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -30,7 +30,7 @@ model { omega ~ normal(1, 2); // shape parameter mu_ult ~ normal(5000, 1000); sigma ~ cauchy(0, 5); sigma_ult ~ cauchy(0, 5); // Hyperparameters: Modelled parameters ult ~ normal(mu_ult, sigma_ult); for (i in 1:N){ -
mages revised this gist
Oct 30, 2016 . 1 changed file with 3 additions and 0 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,6 +4,9 @@ data { real dev[N]; // development period int<lower=0> n_origin; // number of origin years int<lower=1, upper=n_origin> origin[N]; // origin years // Treat future payments as missing data, see BUGS book: // http://www.mrc-bsu.cam.ac.uk/wp-content/uploads/bugsbook_chapter9.pdf, page 194 // and Stan Manual int<lower=0> N_mis; // number of rows of prediction data set real dev_mis[N_mis]; // development periods to predict int<lower=1, upper=n_origin> origin_mis[N_mis]; // origin periods to predict -
mages revised this gist
Oct 30, 2016 . 1 changed file with 1 addition and 1 deletion.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -15,7 +15,7 @@ parameters { real<lower=0> mu_ult; // mean ultimate loss across origin periods real<lower=0> sigma; // process error real<lower=0> sigma_ult; // random error real cum_mis[N_mis]; // cumulative paid to predict } model { real mu[N]; -
mages revised this gist
Oct 30, 2016 . 1 changed file with 30 additions and 20 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -4,49 +4,59 @@ data { real dev[N]; // development period int<lower=0> n_origin; // number of origin years int<lower=1, upper=n_origin> origin[N]; // origin years int<lower=0> N_mis; // number of rows of prediction data set real dev_mis[N_mis]; // development periods to predict int<lower=1, upper=n_origin> origin_mis[N_mis]; // origin periods to predict } parameters { real<lower=0> theta; // scale parameter real<lower=0> omega; // shape parameter real<lower=0> ult[n_origin]; // ultimate loss per origin period real<lower=0> mu_ult; // mean ultimate loss across origin periods real<lower=0> sigma; // process error real<lower=0> sigma_ult; // random error real cum_mis[N_mis]; } model { real mu[N]; real mu_mis[N_mis]; real disp_sigma[N]; real disp_sigma_mis[N_mis]; // Priors theta ~ normal(46, 10); // scale parameter omega ~ normal(1, 2); // shape parameter mu_ult ~ normal(5000, 1000); sigma ~ cauchy(0, 5); sigma_ult ~ cauchy(0, 5); // Hyperparameters: Modelled parameters ult ~ normal(mu_ult, sigma_ult); for (i in 1:N){ mu[i] = ult[origin[i]] * weibull_cdf(dev[i], omega, theta); disp_sigma[i] = sigma * sqrt(mu[i]); } for (i in 1:N_mis){ mu_mis[i] = ult[origin_mis[i]] * weibull_cdf(dev_mis[i], omega, theta); disp_sigma_mis[i] = sigma * sqrt(mu_mis[i]); } // Likelihood: Modelled data cum ~ normal(mu, disp_sigma); cum_mis ~ normal(mu_mis, disp_sigma_mis); } generated quantities{ real Y_mean[N + N_mis]; real Y_pred[N + N_mis]; for(i in 1:N){ # Posterior parameter distribution of the mean Y_mean[i] = ult[origin[i]] * weibull_cdf(dev[i], omega, theta); # Posterior predictive distribution Y_pred[i] = normal_rng(Y_mean[i], sigma*sqrt(Y_mean[i])); } for(i in 1:N_mis){ # Posterior parameter distribution of the mean Y_mean[N + i] = ult[origin_mis[i]] * weibull_cdf(dev_mis[i], omega, theta); # Posterior predictive distribution Y_pred[N + i] = normal_rng(Y_mean[N + i], sigma*sqrt(Y_mean[N + i])); } } -
mages revised this gist
Nov 3, 2015 . 1 changed file with 26 additions and 30 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -1,48 +1,44 @@ data { int<lower=0> N; // total number of rows real cum[N]; // cumulative paid real dev[N]; // development period int<lower=0> n_origin; // number of origin years int<lower=1, upper=n_origin> origin[N]; // origin years int<lower=0> new_N; // number of rows of prediction data set real new_dev[new_N]; // development periods to predict int<lower=1, upper=n_origin> new_origin[new_N]; // origin periods to predict } parameters { real<lower=0> theta; // scale parameter real<lower=0> omega; // shape parameter real<lower=0> ult[n_origin]; // ultimate loss per origin period real<lower=0> mu_ult; // mean ultimate loss across origin periods real<lower=0> tau; // model precession real<lower=0> tau_ult; // ultimate precession } transformed parameters { real sigma; // process error real sigma_ult; // random error sigma <- 1 / sqrt(tau); sigma_ult <- 1 / sqrt(tau_ult); } model { real mu[N]; real disp_sigma[N]; // Priors theta ~ normal(46, 10); // scale parameter omega ~ normal(1, 2); // shape parameter mu_ult ~ normal(5000, 1000); tau ~ gamma(.0001, .0001); tau_ult ~ gamma(.0001, .0001); // Hyperparameters: Modelled parameters ult ~ normal(mu_ult, sigma_ult); for (i in 1:N){ mu[i] <- ult[origin[i]] * weibull_cdf(dev[i], omega, theta); disp_sigma[i] <- sigma * sqrt(cum[i]); } // Likelihood: Modelled data cum ~ normal(mu, disp_sigma); } generated quantities{ real Y_mean[new_N]; @@ -51,6 +47,6 @@ generated quantities{ # Posterior parameter distribution of the mean Y_mean[i] <- ult[new_origin[i]] * weibull_cdf(new_dev[i], omega, theta); # Posterior predictive distribution Y_pred[i] <- normal_rng(Y_mean[i], sigma*sqrt(Y_mean[i])); } } -
mages revised this gist
Oct 31, 2015 . 1 changed file with 13 additions and 12 deletions.There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -2,17 +2,17 @@ data { int<lower=0> N; real cum[N]; real dev[N]; int<lower=0> n_origin; int<lower=1, upper=n_origin> origin[N]; int<lower=0> new_N; real new_dev[new_N]; int<lower=1, upper=n_origin> new_origin[new_N]; } parameters { real<lower=0> theta; real<lower=0> omega; vector[n_origin] ult; real mu_ult; real<lower=0> tau; real<lower=0> tau_ult; @@ -31,24 +31,25 @@ model { ult ~ normal(mu_ult, sigma_ult); for (i in 1:N){ mu[i] <- ult[origin[i]] * weibull_cdf(dev[i], omega, theta); disp_sigma[i] <- sigma * sqrt(cum[i]); } cum ~ normal(mu, disp_sigma); theta ~ normal(46, 10); // scale parameter omega ~ normal(1, 2); // shape parameter mu_ult ~ normal(5000, 1000); tau ~ gamma(.0001, .0001); tau_ult ~ gamma(.0001, .0001); } generated quantities{ real Y_mean[new_N]; real Y_pred[new_N]; for(i in 1:new_N){ # Posterior parameter distribution of the mean Y_mean[i] <- ult[new_origin[i]] * weibull_cdf(new_dev[i], omega, theta); # Posterior predictive distribution Y_pred[i] <- normal_rng(Y_mean[i], sigma); } -
mages created this gist
Oct 30, 2015 .There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters. Learn more about bidirectional Unicode charactersOriginal file line number Diff line number Diff line change @@ -0,0 +1,55 @@ data { int<lower=0> N; real cum[N]; real dev[N]; int<lower=0> n_AY; int<lower=1, upper=n_AY> AY[N]; int<lower=0> newN; real newdev[newN]; int<lower=1, upper=n_AY> newAY[newN]; } parameters { real<lower=0> theta; real<lower=0> omega; vector[n_AY] ult; real mu_ult; real<lower=0> tau; real<lower=0> tau_ult; } transformed parameters { real sigma; real sigma_ult; sigma <- 1 / sqrt(tau); sigma_ult <- 1 / sqrt(tau_ult); } model { real mu[N]; real disp_sigma[N]; ult ~ normal(mu_ult, sigma_ult); for (i in 1:N){ mu[i] <- ult[AY[i]] * weibull_cdf(dev[i], omega, theta); disp_sigma[i] <- sigma * sqrt(cum[i]); } cum ~ normal(mu, disp_sigma); theta ~ normal(46, 10); // scale parameter omega ~ normal(1.4, 1); // shape parameter tau ~ gamma(.0001, .0001); tau_ult ~ gamma(.0001, .0001); } generated quantities{ real Y_mean[newN]; real Y_pred[newN]; for(i in 1:newN){ # Posterior parameter distribution of the mean Y_mean[i] <- ult[newAY[i]] * weibull_cdf(newdev[i], omega, theta); # Posterior predictive distribution Y_pred[i] <- normal_rng(Y_mean[i], sigma); } }