Skip to content

Commit 5128f38

Browse files
committed
Final models
1 parent 467c513 commit 5128f38

7 files changed

+23
-287
lines changed

basic_fit.stan

-166
This file was deleted.

basic_ppc.stan

-73
This file was deleted.

distribution_from_data.png

-65.6 KB
Binary file not shown.

norm_fit.stan model1_fit.stan

+9-13
Original file line numberDiff line numberDiff line change
@@ -8,6 +8,7 @@ data{
88

99
parameters{
1010
real distance_coeff;
11+
real mean;
1112
vector[4] traffic_level_coeff;
1213
real meal_prep_coeff;
1314
real<lower=0> sigma;
@@ -16,33 +17,28 @@ parameters{
1617
transformed parameters {
1718
vector[N] mu;
1819
for(i in 1:N){
19-
mu[i] = exp(distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+3);
20+
mu[i] = exp(distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+mean);
2021
}
2122

2223
}
2324

2425
model{
25-
distance_coeff ~ normal(0,0.3);
26-
meal_prep_coeff ~ normal(0,0.3);
26+
mean ~ normal(3, 0.1);
27+
distance_coeff ~ normal(0,0.5);
28+
meal_prep_coeff ~ normal(0,0.5);
2729
sigma ~ exponential(0.5);
2830
delivery_times ~ inv_gamma(pow(mu, 2) / pow(sigma, 2) + 2, pow(mu,3) / pow(sigma, 2) + mu);
29-
// delivery_times ~ normal(mu, sigma);
30-
traffic_level_coeff[1] ~ normal(0, 0.3);
31-
traffic_level_coeff[2] ~ normal(0, 0.3);
32-
traffic_level_coeff[3] ~ normal(0, 0.3);
33-
traffic_level_coeff[4] ~ normal(0, 0.3);
31+
traffic_level_coeff[1] ~ normal(0, 0.5);
32+
traffic_level_coeff[2] ~ normal(0, 0.5);
33+
traffic_level_coeff[3] ~ normal(0, 0.5);
34+
traffic_level_coeff[4] ~ normal(0, 0.5);
3435
}
3536

3637
generated quantities {
3738
vector[N] delivery_time;
38-
vector[N] exp_argument;
39-
vector[N] exp_argument_withMeal;
4039
vector[N] log_lik;
4140
for (i in 1:N){
4241
delivery_time[i] = inv_gamma_rng(pow(mu[i], 2) / pow(sigma, 2) + 2, pow(mu[i],3) / pow(sigma, 2) + mu[i]);
4342
log_lik[i] = inv_gamma_lpdf(delivery_times[i] | pow(mu[i], 2) / pow(sigma, 2) + 2, pow(mu[i],3) / pow(sigma, 2) + mu[i]);
44-
// delivery_time[i] = normal_rng(mu[i], sigma);
45-
exp_argument_withMeal[i] = distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+3;
46-
// exp_argument[i] = distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]];
4743
}
4844
}

norm_ppc.stan model1_ppc.stan

+4-14
Original file line numberDiff line numberDiff line change
@@ -7,31 +7,21 @@ data{
77

88
generated quantities {
99
real distance_coeff = normal_rng(0, 0.3);
10+
real meal_prep_coeff = normal_rng(0, 0.3);
11+
real mean = normal_rng(3, 0.1);
12+
1013
array[4] real traffic_level_coeff;
1114
traffic_level_coeff[1] = normal_rng(0, 0.3);
1215
traffic_level_coeff[2] = normal_rng(0, 0.3);
1316
traffic_level_coeff[3] = normal_rng(0, 0.3);
1417
traffic_level_coeff[4] = normal_rng(0, 0.3);
15-
// traffic_level_coeff[1] = 0;
16-
// traffic_level_coeff[2] = 0;
17-
// traffic_level_coeff[3] = 0;
18-
// traffic_level_coeff[4] = 0;
19-
real meal_prep_coeff = normal_rng(0, 0.3);
2018

2119
array[N] real mu;
2220
real sigma = exponential_rng(0.5);
2321
array[N] real delivery_times;
24-
array[N] real temp1;
25-
array[N] real gamma_alpha;
26-
array[N] real gamma_beta;
27-
array[N] real temp2;
2822

2923
for (i in 1:N){
30-
temp1[i] = distance_coeff*distance[i] + traffic_level_coeff[traffic_level[i]]+meal_prep_coeff*meal_preparation_time[i]+3;
31-
// temp2[i] = exp(distance_coeff*distance[i] + traffic_level_coeff[traffic_level[i]]);
32-
mu[i] = exp(distance_coeff*distance[i] + traffic_level_coeff[traffic_level[i]]+meal_prep_coeff*meal_preparation_time[i]+3);
33-
gamma_alpha[i] = pow(mu[i], 2) / pow(sigma, 2) + 2;
34-
gamma_beta[i] = pow(mu[i],3) / pow(sigma, 2) + mu[i];
24+
mu[i] = exp(distance_coeff*distance[i] + traffic_level_coeff[traffic_level[i]]+meal_prep_coeff*meal_preparation_time[i]+mean);
3525
delivery_times[i] = inv_gamma_rng(pow(mu[i], 2) / pow(sigma, 2) + 2, pow(mu[i],3) / pow(sigma, 2) + mu[i]);
3626
}
3727
}

model2_fit.stan

+4-8
Original file line numberDiff line numberDiff line change
@@ -5,11 +5,12 @@ data{
55
vector[N] delivery_times; // Delivery times
66
array[N] int traffic_level; // Traffic levels
77
array[N] real delivery_person_rating;
8-
array[N] int number_of_deliveiers;
8+
array[N] int number_of_deliveries;
99
}
1010

1111
parameters{
1212
real distance_coeff;
13+
real mean;
1314
vector[4] traffic_level_coeff;
1415
real meal_prep_coeff;
1516
real<lower=0> sigma;
@@ -20,18 +21,18 @@ parameters{
2021
transformed parameters {
2122
vector[N] mu;
2223
for(i in 1:N){
23-
mu[i] = exp(distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+person_rating_coeff*delivery_person_rating[i]+deliveries_number_coeff[number_of_deliveiers[i]]+3);
24+
mu[i] = exp(distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+person_rating_coeff*delivery_person_rating[i]+deliveries_number_coeff[number_of_deliveries[i]]+mean);
2425
}
2526

2627
}
2728

2829
model{
30+
mean ~ normal(3, 0.1);
2931
person_rating_coeff ~ normal(0,0.3);
3032
distance_coeff ~ normal(0,0.3);
3133
meal_prep_coeff ~ normal(0,0.3);
3234
sigma ~ exponential(0.5);
3335
delivery_times ~ inv_gamma(pow(mu, 2) / pow(sigma, 2) + 2, pow(mu,3) / pow(sigma, 2) + mu);
34-
// delivery_times ~ normal(mu, sigma);
3536
traffic_level_coeff[1] ~ normal(0, 0.3);
3637
traffic_level_coeff[2] ~ normal(0, 0.3);
3738
traffic_level_coeff[3] ~ normal(0, 0.3);
@@ -44,14 +45,9 @@ model{
4445

4546
generated quantities {
4647
vector[N] delivery_time;
47-
vector[N] exp_argument;
48-
vector[N] exp_argument_withMeal;
4948
vector[N] log_lik;
5049
for (i in 1:N){
5150
delivery_time[i] = inv_gamma_rng(pow(mu[i], 2) / pow(sigma, 2) + 2, pow(mu[i],3) / pow(sigma, 2) + mu[i]);
5251
log_lik[i] = inv_gamma_lpdf(delivery_times[i] | pow(mu[i], 2) / pow(sigma, 2) + 2, pow(mu[i],3) / pow(sigma, 2) + mu[i]);
53-
// delivery_time[i] = normal_rng(mu[i], sigma);
54-
exp_argument_withMeal[i] = distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]] + meal_prep_coeff * meal_preparation_time[i]+person_rating_coeff*delivery_person_rating[i]+deliveries_number_coeff[number_of_deliveiers[i]]+3;
55-
// exp_argument[i] = distance_coeff * distance[i] + traffic_level_coeff[traffic_level[i]];
5652
}
5753
}

0 commit comments

Comments
 (0)