_MACHINE LEARNING AND HIGH-FREQUENCY SURVEYS IN PAPUA NEW GUINEA 7_ reflect that initial imputations are uncertain. When the price imputation process is deployed in real-time, prior knowledge about heteroskedasticity can be obtained by modeling a Generalized Autoregressive Conditional Heteroskedastic (GARCH) error process. The initial disturbance term can then be drawn using observationlevel standard deviations. This means that when the price monitor is active in real-time, time-varying variance can be filtered and used to control the stochastic part of the initialization. See the Appendix for notes.

When a monitoring system is first deployed, and no previous results exist, a multi-step spatial time series interpolation approach can be taken to generate the initialization following the original implementation of Andr ́ee (2021).<sup>1</sup>

# Prediction Model

The regression models _f_<sup>_A_</sup> _, f_<sup>_B_</sup> _, ..._ involved are specified as follows (using the first as an example): The price data vectors are in long format, so that _A_ stacks the sub-vectors of market-level time series _A_ = _{a_ 1 _,_ 1 _, a_ 1 _,_ 2 _, ..., , a_ 1 _,T , ..., aJ,_ 1 _, aJ,_ 2 _, ..., , aJ,T }_ , with _aj,t_ being the price quote at location _j_ and time _t_ . Specifically, apart from the other prices items, a matrix of covariates is added. These include the spatial coordinates of markets, so that the model is able to interpolate spatially, as well as any prices vectors contained in ( _B, C_ ) that are at least 95% observed (minor gaps imputed using a structural time series model) so that the model has an accurate representation of observed temporal trends. Finally, the institutional exchange rate is added to inform the model about currency depreciation effects.<sup>2</sup>

> 1Recall that the data consists of individual price series for different market locations, and each price series may have different data support. This makes any single-step imputation for all missing entries difficult. First, the individual market-level price time series are imputed using a structural time series model. The individual price series are then aggregated into a single commodity specific country trend, using an exponentially weighted average based on the amount of actual observations (giving exponentially more weight to the less imputed price series). The market-level price series that have sufficient data to carry out univariate modeling, are then imputed using a Generalized Additive Model that uses the commodity specific country trend as predictor of the observed data. Remaining market-commodity pairs without enough data support, are finally spatially interpolated using inverse distance weighting. Individual market-level price time series that do not have enough data support for modeling, or no observations at all, can be initialized by calculating the _K_ -nearest market locations using a Guassian kernel around market coordinates and observed price data. The market-level price time series of these _similar_ markets can then serve as proxies. This patter-matching idea is detailed by Andree (2022). Using these interpolations, the application then adds a homoskedastic disturbance drawn from a Gaussian distribution with a standard deviation of 5% in price levels for each initialization.

> 2In many countries, the exchange rates from official or public sources and available from for instance the European Central Bank (ECB) or Yahoo, are nearly identical and reasonable to use in conversions. In some low-income countries, the institutional rates are not reflective at all of actual retail exchange rates. In such countries, some effort is needed to construct reasonable exchange rate data from country-specific sources. In this paper, daily rates from the ECB finance were used and aggregated to monthly data using averages. We then obtain monthly parallel market rates available from FAO through the FMPA, correct the monthly aggregated official rates using a linear regression to correct for the typical spread that retail consumers face, and in the result replace observations with the FMPA data where available. The result