Maximum Likelihood Parameter Sets

All data:

##         var    MLval
## 1        As    1.300
## 2        An    1.100
## 3     xi.ss   -0.190
## 4  xi.cross    0.210
## 5     xi.nn   -0.330
## 6        nu    0.980
## 7    lambda    0.096
## 8     kappa    2.800
## 9        Pm    5.100
## 10       LL -190.000

Cross-validation by region:

##         var  MLval
## 1        As   1.30
## 2        An   1.30
## 3     xi.ss  -0.12
## 4  xi.cross   0.13
## 5     xi.nn  -0.23
## 6        nu   0.89
## 7    lambda   0.14
## 8     kappa   2.30
## 9        Pm   6.70
## 10       LL -74.00

Cross-validation by year:

##         var    MLval
## 1        As    1.200
## 2        An    1.100
## 3     xi.ss   -0.210
## 4  xi.cross    0.180
## 5     xi.nn   -0.310
## 6        nu    1.000
## 7    lambda    0.098
## 8     kappa    2.800
## 9        Pm    4.500
## 10       LL -130.000

Figure 1

Figure 1: Mapping between income and demands for staples and nonstaples using model parameters set to their maximum likelihood values obtained using pooled cross-sectional-time-series observations and Metropolis Monte Carlo estimation procedure discussed later in this paper. Staple and nonstaple food prices in this plot are fixed at the median value of the full observational data set.

Figure 2

Figure 2: Histogram of sigma values imputed by the clustering procedure. For both staples and nonstaples the median value is roughly 200 Calories/person/day.

Figure 3

## Warning: `panel.margin` is deprecated. Please use `panel.spacing` property
## instead

## Warning: `panel.margin` is deprecated. Please use `panel.spacing` property
## instead
## No id variables; using all as measure variables

Figure 3: Marginal distributions of model parameters and likelihood function (LL). The parameters are described in section 2.

Figure 4

Figure 4: Comparison between model outputs and observed consumption for model run “all-data”.

Alternate Figure 4

This version focuses on two regions where the model does well (before bias correction) and two where it doesn’t do so well. ## Figure 5

## Warning: Removed 1 rows containing missing values (geom_path).

Figure 5: Income and own-price elasticities for the model, as a function of per-capita GDP. Model parameters are set to their maximum likelihood values. Staple and nonstaple food prices are fixed at their median values for the full observational data set.

Figure 6

Figure 6: Comparison between model output and observed data for the xval-rgn (left panels) and xval-year (right panels) cross-validation experiments. Units for both observation and model data are in thousands of Calories per person per day.

Alternate Figure 6

This version of figure 6 shows only the residuals from the cross-validation by year This is a better fit for talks where we don’t have time to go into the cross-validation by region or why it didn’t turn out to be useful.

Figure 7

Figure 7: Scatter plot of model vs. observations for the xval-year run, after applying the regional bias correction. Model agreement with observations is dramatically improved as compared to the uncorrected data in the previous figure.

Table 3

(Tables 1 and 2 summarize the model design and therefore don’t use any results or data.)

Table 3: Maximum likelihood values and confidence intervals for model parameters, as derived from “all-data” run.

##         var        MLval     ci.low    ci.high
## 1        As    1.2818000  1.2151500  1.5013900
## 2        An    1.1368100  0.7639080  1.2271700
## 3     xi.ss   -0.1866350 -0.2998590 -0.0518786
## 4  xi.cross    0.2103140  0.0463853  0.3116260
## 5     xi.nn   -0.3349020 -0.5144540 -0.0329214
## 6        nu    0.9792940  0.8709420  1.3377840
## 7    lambda    0.0955194  0.0670626  0.2006540
## 8     kappa    2.7652745  2.0133004  2.9925873
## 9        Pm    5.0580100  1.9408700  5.9082800
## 10       LL -193.8160000         NA         NA

Table 4

Table 4: Maximum likelihood values for parameters in the cross-validation runs.

##         var      xval.yr   xval.rgn
## 1        As    1.2397000   1.277730
## 2        An    1.0932200   1.269120
## 3     xi.ss   -0.2075970  -0.117465
## 4  xi.cross    0.1835990   0.130790
## 5     xi.nn   -0.3149100  -0.231277
## 6        nu    1.0216440   0.893490
## 7    lambda    0.0976904   0.142074
## 8     kappa    2.8142164   2.331182
## 9        Pm    4.4635600   6.678730
## 10       LL -131.3870000 -74.403500

Table 5

Table 5: Figures of merit for each of the three experiments. For each data set we report the root mean-squared error and the chi-squared per degree of freedom. For the cross-validation experiments, the p-value is for a Kolmogorov-Smirnov test of the null hypothesis, “The CDF of squared residuals for the testing set is not less than that of the training set.”

##      run        RMSE.trn x2n.trn RMSE.tst x2n.tst KS.pval  
## [1,] "all-data" "0.21"   "2.7"   NA       NA      NA       
## [2,] "xval-rgn" "0.18"   "1.9"   "0.31"   "7.6"   "7.1e-17"
## [3,] "xval-rgn" "0.21"   "2.9"   "0.24"   "2.7"   "0.89"