Showing preview only (3,813K chars total). Download the full file or copy to clipboard to get everything.
Repository: duvenaud/phd-thesis
Branch: master
Commit: 62ff4d61f27e
Files: 315
Total size: 3.6 MB
Directory structure:
gitextract_7shfk872/
├── .gitignore
├── additive.tex
├── appendix.tex
├── code/
│ ├── additive_extrapolation.m
│ ├── data/
│ │ ├── quebec/
│ │ │ ├── process.m
│ │ │ ├── quebec-1000.mat
│ │ │ ├── quebec-2000.mat
│ │ │ ├── quebec-5000.mat
│ │ │ ├── quebec-all.mat
│ │ │ ├── quebec-births-fixed.csv
│ │ │ └── quebec-births-standard.csv
│ │ └── r_concrete_500.mat
│ ├── decomp_birth.m
│ ├── decomp_concrete.m
│ ├── draw_2d_additive_kernels.m
│ ├── draw_3d_additive_kernels.m
│ ├── draw_manifolds.m
│ ├── gpml/
│ │ ├── .octaverc
│ │ ├── Copyright
│ │ ├── README
│ │ ├── barrier_fct.m
│ │ ├── cov/
│ │ │ ├── covADD.m
│ │ │ ├── covConst.m
│ │ │ ├── covFITC.m
│ │ │ ├── covLIN.m
│ │ │ ├── covLINard.m
│ │ │ ├── covLINone.m
│ │ │ ├── covMask.m
│ │ │ ├── covMaterniso.m
│ │ │ ├── covNNone.m
│ │ │ ├── covNoise.m
│ │ │ ├── covPPiso.m
│ │ │ ├── covPeriodic.m
│ │ │ ├── covPoly.m
│ │ │ ├── covProd.m
│ │ │ ├── covRQard.m
│ │ │ ├── covRQiso.m
│ │ │ ├── covSEard.m
│ │ │ ├── covSEiso.m
│ │ │ ├── covSEisoU.m
│ │ │ ├── covSEiso_length.m
│ │ │ ├── covSEiso_var.m
│ │ │ ├── covScale.m
│ │ │ └── covSum.m
│ │ ├── covFunctions.m
│ │ ├── doc/
│ │ │ ├── README
│ │ │ ├── changelog
│ │ │ ├── demoClassification.m
│ │ │ ├── demoRegression.m
│ │ │ ├── gpml_randn.m
│ │ │ ├── index.html
│ │ │ ├── style.css
│ │ │ ├── usageClassification.m
│ │ │ ├── usageCov.m
│ │ │ ├── usageMean.m
│ │ │ └── usageRegression.m
│ │ ├── gp.m
│ │ ├── inf/
│ │ │ ├── infEP.m
│ │ │ ├── infExact.m
│ │ │ ├── infFITC.m
│ │ │ ├── infLOO.m
│ │ │ ├── infLaplace.m
│ │ │ └── infVB.m
│ │ ├── infMethods.m
│ │ ├── lik/
│ │ │ ├── likErf.m
│ │ │ ├── likGauss.m
│ │ │ ├── likLaplace.m
│ │ │ ├── likLogistic.m
│ │ │ ├── likSech2.m
│ │ │ └── likT.m
│ │ ├── likFunctions.m
│ │ ├── mean/
│ │ │ ├── meanConst.m
│ │ │ ├── meanLinear.m
│ │ │ ├── meanMask.m
│ │ │ ├── meanOne.m
│ │ │ ├── meanPow.m
│ │ │ ├── meanProd.m
│ │ │ ├── meanScale.m
│ │ │ ├── meanSum.m
│ │ │ └── meanZero.m
│ │ ├── meanFunctions.m
│ │ ├── penalized_gp.m
│ │ ├── startup.m
│ │ └── util/
│ │ ├── binaryEPGP.m
│ │ ├── binaryGP.m
│ │ ├── binaryLaplaceGP.m
│ │ ├── brentmin.m
│ │ ├── elsympol.m
│ │ ├── elsympol2.m
│ │ ├── gpr.m
│ │ ├── lbfgsb/
│ │ │ ├── Makefile
│ │ │ ├── README.html
│ │ │ ├── array.h
│ │ │ ├── arrayofmatrices.cpp
│ │ │ ├── arrayofmatrices.h
│ │ │ ├── lbfgsb.cpp
│ │ │ ├── license.txt
│ │ │ ├── matlabexception.cpp
│ │ │ ├── matlabexception.h
│ │ │ ├── matlabmatrix.cpp
│ │ │ ├── matlabmatrix.h
│ │ │ ├── matlabprogram.cpp
│ │ │ ├── matlabprogram.h
│ │ │ ├── matlabscalar.cpp
│ │ │ ├── matlabscalar.h
│ │ │ ├── matlabstring.cpp
│ │ │ ├── matlabstring.h
│ │ │ ├── program.cpp
│ │ │ ├── program.h
│ │ │ └── solver.f
│ │ ├── lbfgsb.m
│ │ ├── make.m
│ │ ├── minimize.m
│ │ ├── minimize_bfgs.m
│ │ ├── minimize_lbfgsb.m
│ │ ├── minimize_lbfgsb_gradfun.m
│ │ ├── minimize_lbfgsb_objfun.m
│ │ ├── minimize_may18.m
│ │ ├── minimize_may21.m
│ │ ├── minimize_pre_oct26.m
│ │ ├── old_minimize.m
│ │ ├── rewrap.m
│ │ ├── solve_chol.c
│ │ ├── solve_chol.m
│ │ ├── sq_dist.m
│ │ └── unwrap.m
│ ├── hypers.mat
│ ├── plot_additive_decomp.m
│ ├── plot_additive_decomp_cov.m
│ ├── plot_oned_gp.m
│ ├── plot_oned_gplvm.m
│ ├── plot_structure_examples.m
│ ├── plot_symmetry_samples.m
│ └── utils/
│ ├── colorbrew.m
│ ├── coord_to_color.m
│ ├── coord_to_image.m
│ ├── draw_warped_density.m
│ ├── logdet.m
│ ├── logmvnpdf.m
│ ├── logsumexp.m
│ ├── logsumexp2.m
│ ├── myaa.m
│ ├── parseArgs.m
│ ├── plot_little_circles.m
│ ├── plot_little_circles_3d.m
│ ├── save2pdf.m
│ ├── saveeps.m
│ ├── savepng.m
│ ├── set_fig_units_cm.m
│ ├── sq_dist.m
│ ├── subaxis.m
│ ├── test_coord_to_color.m
│ ├── test_coord_to_image.m
│ └── tightfig.m
├── common/
│ ├── CUEDbiblio.bst
│ ├── PhDThesisPSnPDF.cls
│ ├── commenting.tex
│ ├── glyphtounicode.tex
│ ├── header.tex
│ ├── humble.tex
│ ├── jmb.bst
│ ├── official-preamble.tex
│ ├── preamble.tex
│ └── thesis-info.tex
├── deeplimits.tex
├── description.tex
├── discussion.tex
├── figures/
│ ├── additive/
│ │ ├── .svn/
│ │ │ ├── all-wcprops
│ │ │ ├── entries
│ │ │ ├── prop-base/
│ │ │ │ ├── 1st_order_censored_add.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_ard.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_d1.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_d1d2.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_d2.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_data.pdf.svn-base
│ │ │ │ ├── 1st_order_censored_truth.pdf.svn-base
│ │ │ │ ├── 3d_add_kernel_1.pdf.svn-base
│ │ │ │ ├── 3d_add_kernel_2.pdf.svn-base
│ │ │ │ ├── 3d_add_kernel_3.pdf.svn-base
│ │ │ │ ├── 3d_add_kernel_32.pdf.svn-base
│ │ │ │ ├── 3d_add_kernel_321.pdf.svn-base
│ │ │ │ ├── additive_draw.pdf.svn-base
│ │ │ │ ├── additive_kernel_2nd_order.pdf.svn-base
│ │ │ │ ├── additive_kernel_draw_sum.pdf.svn-base
│ │ │ │ ├── additive_kernel_draw_sum_p1.pdf.svn-base
│ │ │ │ ├── additive_kernel_draw_sum_p2.pdf.svn-base
│ │ │ │ ├── additive_kernel_sum_p1.pdf.svn-base
│ │ │ │ ├── additive_kernel_sum_p2.pdf.svn-base
│ │ │ │ ├── class_graph.pdf.svn-base
│ │ │ │ ├── class_graph_ll.pdf.svn-base
│ │ │ │ ├── hkl_add_ard_v1.pdf.svn-base
│ │ │ │ ├── housing_order_ll.pdf.svn-base
│ │ │ │ ├── housing_order_ll_upto.pdf.svn-base
│ │ │ │ ├── housing_order_mse.pdf.svn-base
│ │ │ │ ├── housing_order_mse_upto.pdf.svn-base
│ │ │ │ ├── hulls.pdf.svn-base
│ │ │ │ ├── interpretable_1st_order1.pdf.svn-base
│ │ │ │ ├── interpretable_1st_order2.pdf.svn-base
│ │ │ │ ├── interpretable_2nd_order1.pdf.svn-base
│ │ │ │ ├── pumadyn1.pdf.svn-base
│ │ │ │ ├── pumadyn2.pdf.svn-base
│ │ │ │ ├── pumadyn3.pdf.svn-base
│ │ │ │ ├── pumadyn_1d.pdf.svn-base
│ │ │ │ ├── reg_graph.pdf.svn-base
│ │ │ │ ├── reg_graph_ll.pdf.svn-base
│ │ │ │ ├── sqexp_kernel.pdf.svn-base
│ │ │ │ └── synth_plot_1.pdf.svn-base
│ │ │ └── text-base/
│ │ │ ├── 1st_order_censored_add.pdf.svn-base
│ │ │ ├── 1st_order_censored_ard.pdf.svn-base
│ │ │ ├── 1st_order_censored_d1.pdf.svn-base
│ │ │ ├── 1st_order_censored_d1d2.pdf.svn-base
│ │ │ ├── 1st_order_censored_d2.pdf.svn-base
│ │ │ ├── 1st_order_censored_data.pdf.svn-base
│ │ │ ├── 1st_order_censored_truth.pdf.svn-base
│ │ │ ├── 3d_add_kernel_1.pdf.svn-base
│ │ │ ├── 3d_add_kernel_2.pdf.svn-base
│ │ │ ├── 3d_add_kernel_3.pdf.svn-base
│ │ │ ├── 3d_add_kernel_32.pdf.svn-base
│ │ │ ├── 3d_add_kernel_321.pdf.svn-base
│ │ │ ├── additive_draw.pdf.svn-base
│ │ │ ├── additive_kernel.pdf.svn-base
│ │ │ ├── additive_kernel_2nd_order.pdf.svn-base
│ │ │ ├── additive_kernel_draw_sum.pdf.svn-base
│ │ │ ├── additive_kernel_draw_sum_p1.pdf.svn-base
│ │ │ ├── additive_kernel_draw_sum_p2.pdf.svn-base
│ │ │ ├── additive_kernel_sum_p1.pdf.svn-base
│ │ │ ├── additive_kernel_sum_p2.pdf.svn-base
│ │ │ ├── class_graph.pdf.svn-base
│ │ │ ├── class_graph_ll.pdf.svn-base
│ │ │ ├── hkl_add_ard_v1.pdf.svn-base
│ │ │ ├── hkl_add_ard_v1.svg.svn-base
│ │ │ ├── housing_order_ll.pdf.svn-base
│ │ │ ├── housing_order_ll_upto.pdf.svn-base
│ │ │ ├── housing_order_mse.pdf.svn-base
│ │ │ ├── housing_order_mse_upto.pdf.svn-base
│ │ │ ├── hulls.pdf.svn-base
│ │ │ ├── hulls.svg.svn-base
│ │ │ ├── hulls3.svg.svn-base
│ │ │ ├── interpretable_1st_order1.pdf.svn-base
│ │ │ ├── interpretable_1st_order2.pdf.svn-base
│ │ │ ├── interpretable_2nd_order1.pdf.svn-base
│ │ │ ├── pumadyn1.pdf.svn-base
│ │ │ ├── pumadyn2.pdf.svn-base
│ │ │ ├── pumadyn3.pdf.svn-base
│ │ │ ├── pumadyn_1d.pdf.svn-base
│ │ │ ├── reg_graph.pdf.svn-base
│ │ │ ├── reg_graph_ll.pdf.svn-base
│ │ │ ├── sqexp_draw.pdf.svn-base
│ │ │ ├── sqexp_kernel.pdf.svn-base
│ │ │ └── synth_plot_1.pdf.svn-base
│ │ └── compare_models/
│ │ └── .svn/
│ │ ├── all-wcprops
│ │ ├── entries
│ │ ├── prop-base/
│ │ │ ├── additive.pdf.svn-base
│ │ │ ├── ard.pdf.svn-base
│ │ │ ├── gam.pdf.svn-base
│ │ │ └── hkl.pdf.svn-base
│ │ └── text-base/
│ │ ├── additive.pdf.svn-base
│ │ ├── additive.svg.svn-base
│ │ ├── ard.pdf.svn-base
│ │ ├── ard.svg.svn-base
│ │ ├── gam.pdf.svn-base
│ │ ├── gam.svg.svn-base
│ │ ├── hkl.pdf.svn-base
│ │ ├── hkl.svg.svn-base
│ │ ├── nodes.svg.svn-base
│ │ └── old_version.svg.svn-base
│ ├── grammar/
│ │ ├── airlinepages/
│ │ │ └── split_and_crop.sh
│ │ ├── extrapolation_curves/
│ │ │ ├── 01-airline-s-ex-curve.fig
│ │ │ ├── 01-airline-s-ex-curve_hint.fig
│ │ │ ├── 02-solar-s-ex-curve.fig
│ │ │ ├── 03-mauna2003-s-MSEs.mat
│ │ │ └── 03-mauna2003-s-ex-curve.fig
│ │ └── solarpages/
│ │ └── split_and_crop.sh
│ └── intro/
│ ├── fuzzy-0
│ ├── fuzzy-1
│ ├── fuzzy-2
│ └── fuzzy-3
├── grammar.tex
├── intro.tex
├── kernels.tex
├── misc/
│ ├── abstract.tex
│ ├── acknowledgement.tex
│ ├── declaration.tex
│ ├── dedication.tex
│ └── original-template/
│ ├── .gitignore
│ ├── Abstract/
│ │ └── abstract.tex
│ ├── Acknowledgement/
│ │ └── acknowledgement.tex
│ ├── Appendix1/
│ │ └── appendix1.tex
│ ├── Appendix2/
│ │ └── appendix2.tex
│ ├── Chapter1/
│ │ └── chapter1.tex
│ ├── Chapter2/
│ │ ├── Figs/
│ │ │ └── Vector/
│ │ │ ├── TomandJerry.eps
│ │ │ ├── WallE.eps
│ │ │ └── minion.eps
│ │ └── chapter2.tex
│ ├── Chapter3/
│ │ └── chapter3.tex
│ ├── Classes/
│ │ ├── PhDThesisPSnPDF.cls
│ │ └── glyphtounicode.tex
│ ├── Declaration/
│ │ └── declaration.tex
│ ├── Dedication/
│ │ └── dedication.tex
│ ├── Figs/
│ │ └── University_Crest.eps
│ ├── LICENSE
│ ├── Makefile
│ ├── Preamble/
│ │ └── preamble.tex
│ ├── README.md
│ ├── References/
│ │ └── references.bib
│ ├── Variables.ini
│ ├── compile-thesis.sh
│ ├── thesis-info.tex
│ └── thesis.tex
├── notation.tex
├── quadrature.tex
├── readme.md
├── references.bib
├── thesis.tex
└── warped.tex
================================================
FILE CONTENTS
================================================
================================================
FILE: .gitignore
================================================
*.acn
*.acr
*.alg
*.aux
*.bbl
*.blg
*.dvi
*.fdb_latexmk
*.glg
*.glo
*.gls
*.idx
*.ilg
*.ind
*.ist
*.lof
*.log
*.lot
*.maf
*.mtc
*.mtc0
*.nav
*.nlo
*.out
*.pdfsync
*.ps
*.snm
*.synctex.gz
*.toc
*.vrb
*.xdy
*.tdo
*.swp
================================================
FILE: additive.tex
================================================
\input{common/header.tex}
\inbpdocument
%\chapter{Dropout in Gaussian processes}
\chapter{Additive Gaussian Processes}
\label{ch:additive}
%\begin{quotation}
%``I am in [Gaussian processes] stepped in so far that, should I wade no more, Returning were as tedious as go o'er.''
%\hspace*{\fill}--MacBeth
%\end{quotation}
\Cref{ch:grammar} showed how to learn the structure of a kernel by building it up piece-by-piece.
This chapter presents an alternative approach: starting with many different types of structure in a kernel, adjusting kernel parameters to discard whatever structure is \emph{not} present in the current dataset.
The advantage of this approach is that we do not need to run an expensive discrete-and-continuous search in order to build a structured model, and implementation is simpler.
This model, which we call \emph{additive Gaussian processes}, is a sum of functions of all possible combinations of input variables.
This model can be specified by a weighted sum of all possible products of one-dimensional kernels.
There are $2^D$ combinations of $D$ objects, so na\"{i}ve computation of this kernel is intractable.
Furthermore, if each term has different kernel parameters, fitting or integrating over so many parameters is difficult.
To address these problems, we introduce a restricted parameterization of the kernel which allows efficient evaluation of all interaction terms, while still allowing a different weighting of each order of interaction.
Empirically, this model has good predictive performance in regression tasks, and its parameters are relatively interpretable.
This model also has an interpretation as an approximation to \emph{dropout}, a recently-introduced regularization method for neural networks.
The work in this chapter was done in collaboration with Hannes Nickisch and Carl Rasmussen, who derived and coded up the additive kernel.
My role in the project was to examine the properties of the resulting model, clarify the connections to existing methods, to create all figures and run all experiments.
That work was published in \citet{duvenaud2011additive11}.
The connection to dropout regularization in \cref{sec:dropout-gps} is an independent contribution.
\section{Different types of multivariate additive {\mbox structure}}
\Cref{ch:kernels} showed how additive structure in a \gp{} prior enabled extrapolation in multivariate regression problems.
In general, models of the form
%
\begin{align}
f(\vx) = g \big( f(x_1) + f(x_2) + \dots + f(x_D) \big)
\label{eq:general-additive}
\end{align}
%
are widely used in machine learning and statistics, partly for this reason, and partly because they are relatively easy to fit and interpret.
Examples include logistic regression, linear regression, generalized linear models~\citep{nelder1972generalized} and generalized additive models~\citep{hastie1990generalized}.
%, are typically easy to fit and interpret.
%Some extensions of this family, such as smoothing-splines ANOVA \citep{wahba1990spline}, also consider terms depending on more than one variable.
%However, such models often become intractable and difficult to fit as the number of terms increases.
At the other end of the spectrum are models which allow the response to depend on all input variables simultaneously, without any additive decomposition:
%
\begin{align}
f(\vx) = f(x_1, x_2, \dots, x_D)
\label{eq:highest-order}
\end{align}
%
An example would be a \gp{} with an \seard{} kernel.
Such models are much more flexible than those having the form \eqref{eq:general-additive}, but this flexibility can make it difficult to generalize to new combinations of input variables.
In between these extremes are function classes depending on pairs or triplets of inputs, such as
%
\begin{align}
f(x_1, x_2, x_3) = f_{12}(x_1, x_2) + f_{23}(x_2, x_3) + f_{13}(x_1, x_3) .
\label{eq:second-order-additive}
\end{align}
%
We call the number of input variables appearing in each term the \emph{order} of that term.
Models containing terms only of intermediate order such as \eqref{eq:second-order-additive} allow more flexibility than models of form \eqref{eq:highest-order} (first-order), but have more structure than those of form \eqref{eq:general-additive} ($D$-th order).
Capturing the low-order additive structure present in a function can be expected to improve predictive accuracy.
However, if the function being learned depends in some way on an interaction between all input variables, a $D$th-order term is required in order for the model to be consistent.
%However, if the function also contains lower-order interactions, capturing that structure will still improve the predioctive performance on finite datasets.
%To the extent that a set of variables is relevant to the output, this model must be highly uncertain about any novel combination of those variables.
\section{Defining additive kernels}
To define the additive kernels introduced in this chapter, we first assign each dimension $i \in \{1 \dots D\}$ a one-dimensional \emph{base kernel} $k_i(x_i, x'_i)$.
Then the first order, second order and $n$th order additive kernels are defined as:
%
\begin{align}
k_{add_1}({\bf x, x'}) & = \sigma_1^2 \sum_{i=1}^D k_i(x_i, x_i') \\
k_{add_2}({\bf x, x'}) & = \sigma_2^2 \sum_{i=1}^D \sum_{j = i + 1}^D k_i(x_i, x_i') k_j(x_j, x_j') \\
k_{add_n}({\bf x, x'}) & = \sigma_n^2 \sum_{1 \leq i_1 < i_2 < ... < i_n \leq D} \left[ \prod_{d=1}^n k_{i_d}(x_{i_d}, x_{i_d}') \right] \\
k_{add_D}({\bf x, x'}) & = \sigma_D^2 \sum_{1 \leq i_1 < i_2 < ... < i_D \leq D} \left[ \prod_{d=1}^D k_{i_d}(x_{i_d}, x_{i_d}') \right] = \sigma_D^2 \prod_{d=1}^D k_{d}(x_{d}, x_{d}')
\end{align}
%
where $D$ is the dimension of the input space, and $\sigma_n^2$ is the variance assigned to all $n$th order interactions.
The $n$th-order kernel is a sum of ${D \choose n}$ terms.
In particular, the $D$th-order additive kernel has ${D \choose D} = 1$ term, a product of each dimension's kernel.
In the case where each base kernel is a one-dimensional squared-exponential kernel, the $D$th-order term corresponds to the multivariate squared-exponential kernel, also known as \seard{}:
%
\begin{align}
%k_{add_D}({\bf x, x'}) =
%\sigma_D^2 \prod_{d=1}^D k_{d}(x_{d}, x_{d}') =
\prod_{d=1}^D \kSE(x_d, x_d') =
\prod_{d=1}^D \sigma_d^2\exp \left( -\frac{ ( x_{d} - x_{d}')^2}{2 \ell^2_d} \right) =
\sigma_D^2 \exp \left( -\sum_{d=1}^D \frac{ ( x_{d} - x_{d}')^2}{2 \ell^2_d} \right)
\end{align}
%
%also commonly known as the Gaussian kernel.
The full additive kernel is a sum of the additive kernels of all orders.
%\subsubsection{Parameterization}
The only design choice necessary to specify an additive kernel is the selection of a one-dimensional base kernel for each input dimension.
Parameters of the base kernels (such as length-scales $\ell_1, \ell_2, \dots, \ell_D$) can be learned as per usual by maximizing the marginal likelihood of the training data.
\subsection{Weighting different orders of interaction}
In addition to the parameters of each dimension's kernel, additive kernels are equipped with a set of $D$ parameters $\sigma_1^2 \dots \sigma_D^2$.
%, controlling how much variance is assigned to each order of interaction.
These \emph{order variance} parameters have a useful interpretation: the $d$th order variance parameter specifies how much of the target function's variance comes from interactions of the $d$th order.
%\input{\additivetablesdir/r_concrete_500_hypers_table.tex}
%Table \ref{tbl:concrete} gives an example of parameters learnt by both a SE-GP, and by those learnt by an additive GP whose base kernels are one-dimensional squared exponential kernels. In this case, the 1st, 2nd and 3rd-order interactions contribute most to the final function.
%
%
\Cref{tbl:all_orders} shows examples of the variance contributed by different orders of interaction, estimated on real datasets.
These datasets are described in \cref{sec:additive-datasets}.
% --- Automatically generated by hypers_to_latex.m ---
% Exported at 03-Jun-2011 00:22:23
\begin{table}[h]
\caption[Relative variance contributed by each order of the additive model]
{Percentage of variance contributed by each order of interaction of the additive model on different datasets.
The maximum order of interaction is set to the input dimension or 10, whichever is smaller.
}
\begin{center}
\begin{tabular}{r | r r r r r r r r r r}
\multicolumn{1}{c}{} & \multicolumn{10}{c}{Order of interaction} \\
Dataset & \nth{1} & \nth{2} & \nth{3} & \nth{4} & \nth{5} & \nth{6} & \nth{7} & \nth{8} & \nth{9} & \nth{10} \\ \hline
pima & $0.1 $ & $0.1 $ & $0.1 $ & $0.3 $ & $1.5 $ & ${\bf 96.4}$ & $1.4 $ & $0.0 $ & & \\
liver & $0.0 $ & $0.2 $ & ${\bf 99.7 } $ & $0.1 $ & $0.0 $ & $0.0 $ & & & & \\
heart & ${\bf 77.6} $ & $0.0 $ & $0.0 $ & $0.0 $ & $0.1 $ & $0.1 $ & $0.1 $ & $0.1 $ & $0.1 $ & $22.0 $ \\
concrete & ${\bf 70.6 } $ & $13.3 $ & $13.8 $ & $2.3 $ & $0.0 $ & $0.0 $ & $0.0 $ & $0.0 $ & & \\
pumadyn-8nh & $0.0 $ & $0.1 $ & $0.1 $ & $0.1 $ & $0.1 $ & $0.1 $ & $0.1 $ & ${\bf 99.5 } $ & & \\
servo & ${\bf 58.7 }$ & $27.4 $ & $0.0 $ & $13.9 $ & & & & & & \\
housing & $0.1 $ & $0.6 $ & ${\bf 80.6 }$ & $1.4 $ & $1.8 $ & $0.8 $ & $0.7 $ & $0.8 $ & $0.6 $ & $12.7 $ \\
\end{tabular}
\end{center}
\label{tbl:all_orders}
\end{table}
% End automatically generated LaTeX
On different datasets, the dominant order of interaction estimated by the additive model varies widely.
In some cases, the variance is concentrated almost entirely onto a single order of interaction.
This may may be a side-effect of using the same lengthscales for all orders of interaction; lengthscales appropriate for low-dimensional regression might not be appropriate for high-dimensional regression.
%A re-scaling of lengthscales which enforces similar distances between datapoints might improve the model.
%An additive \gp{} with all of its variance coming from the 1st order is equivalent to a sum of one-dimensional functions.
%An additive \gp{} with all its variance coming from the $D$th order is equivalent to a \gp{} with an \seard{} kernel.
%
% We can see that the length-scales learnt are not necessarily the same. This is because, in a normal ARD-style kernel, the length-scale of a dimension is conflated with the variance of the function along that dimension. The additive kernel separates these two parameters.
%
%This table lets us examine the relative contribution of each order of interaction to the total function variance. Again, the ARD kernel is equivalent to an additive kernel in which all the variance is constrained to arise only from the highest-order interactions.
%Because the variance parameters can specify which degrees of interaction are important, the additive \gp{} can capture many different types of structure.
%By optimizing these parameters, we are approximately performing weighted model selection over a set of $D$ models.
%If the function we are modeling is decomposable into a sum of low-dimensional functions, our model can discover this fact and exploit it.
%The marginal likelihood will usually favor using lower orders if possible, since the $|K|^{-\frac{1}{2}}$ term in the \gp{} marginal likelihood (\cref{eq:gp_marg_lik}) will usually be larger for less flexible model classes.
%Low-order structure sometimes allows extrapolation, as shown in \cref{sec:additivity-extrapolation}.
%If low-dimensional additive structure is not present, the kernel parameters can specify a suitably flexible model, with interactions between as many variables as necessary.
%The expected number of zero crossings is $O(k^d)$ for product kernels (sqexp), $O(kd)$ for first-order additive, and $O\left(k {d \choose r}\right)$ for $r$th order additive functions. [Conjecture]
%To push the analogy, using a product kernel is analogous to performing polynomial regression when we are forced to use a high-degree polynomial, even when the data do not support it. One could also view the Gaussian kernel as one which makes the pessimistic assumption that the function we are model can vary independently for each new combination of variables observed.
\subsection{Efficiently evaluating additive kernels}
An additive kernel over $D$ inputs with interactions up to order $n$ has $O(2^n)$ terms.
Na\"{i}vely summing these terms is intractable.
One can exactly evaluate the sum over all terms in $O(D^2)$, while also weighting each order of interaction separately.
To efficiently compute the additive kernel, we exploit the fact that the $n$th order additive kernel corresponds to the $n$th \textit{elementary symmetric polynomial}~\citep{macdonald1998symmetric}
of the base kernels, which we denote $e_n$.
For example, if $\vx$ has 4 input dimensions ($D = 4$), and if we use the shorthand notation $k_d = k_d(x_d, x_d')$, then
%
\begin{align}
k_{\textnormal{add}_0}({\bf x, x'}) & = e_0( k_1, k_2, k_3, k_4 ) = 1 \\
k_{\textnormal{add}_1}({\bf x, x'}) & = e_1( k_1, k_2, k_3, k_4 ) = k_1 + k_2 + k_3 + k_4 \\
k_{\textnormal{add}_2}({\bf x, x'}) & = e_2( k_1, k_2, k_3, k_4 ) = k_1 k_2 + k_1 k_3 + k_1k_4 + k_2 k_3 + k_2 k_4 + k_3 k_4 \\
k_{\textnormal{add}_3}({\bf x, x'}) & = e_3( k_1, k_2, k_3, k_4 ) = k_1 k_2 k_3 + k_1 k_2 k_4 + k_1 k_3 k_4 + k_2 k_3 k_4 \\
k_{\textnormal{add}_4}({\bf x, x'}) & = e_4( k_1, k_2, k_3, k_4 ) = k_1 k_2 k_3 k_4
\end{align}
%
The Newton-Girard formulas give an efficient recursive form for computing these polynomials.
%If we define $s_k$ to be the $k$th power sum: $s_k(k_1,k_2,\dots,k_D) = \sum_{i=1}^Dk_i^k$, then
%
\begin{align}
k_{\textnormal{add}_n}({\bf x, x'}) = e_n(k_1,k_2,\dots,k_D) = \frac{1}{n} \sum_{a=1}^n (-1)^{(a-1)} e_{n-a}(k_1, k_2, \dots,k_D) \sum_{i=1}^Dk_i^a
\end{align}
%
Each iteration has cost $\mathcal{O}(D)$, given the next-lowest polynomial.
%\begin{equation}
%$s_k(k_1,k_2,\dots,k_n) = k_1^k + k_2^k + \dots + k_D^k = \sum_{i=1}^Dk_i^k$.
%\end{equation}
%These formulas have time complexity $\mathcal{O}( D^2 )$, while computing a sum over an exponential number of terms.
\subsubsection{Evaluation of derivatives}
Conveniently, we can use the same trick to efficiently compute the necessary derivatives of the additive kernel with respect to the base kernels.
This can be done by removing the base kernel of interest, $k_j$, from each term of the polynomials:
%
\begin{align}
\frac{\partial k_{add_n}}{\partial k_j} =
\frac{\partial e_{n}(k_1,k_2,\dots, k_D)}{\partial k_j} =
e_{n-1}(k_1, k_2, \dots,k_{j-1},k_{j+1}, \dots k_D)
% & = \frac{1}{n-1} \sum_{k=1}^{n-1} (-1)^{(k-1)} e_{n-k-1}(k_1,\dots,k_{j-1},k_{j+1}, \dots k_D)s_k(k_1,\dots,k_{j-1},k_{j+1}, \dots k_D)
\label{eq:additive-derivatives}
\end{align}
%
\Cref{eq:additive-derivatives} gives all terms that $k_j$ is multiplied by in the original polynomial, which are exactly the terms required by the chain rule.
These derivatives allow gradient-based optimization of the base kernel parameters with respect to the marginal likelihood.
% The final derivative is a sum of multilinear terms, so if only one term depends on the hyperparameter under consideration, we can factorise it out and compute the sum with one degree less.
\subsubsection{Computational cost}
The computational cost of evaluating the Gram matrix $k(\vX, \vX)$ of a product kernel such as the \seard{} scales as $\mathcal{O}(N^2D)$, while the cost of evaluating the Gram matrix of the additive kernel scales as $\mathcal{O}(N^2DR)$, where $R$ is the maximum degree of interaction allowed (up to $D$).
In high dimensions this can be a significant cost, even relative to the $\mathcal{O}(N^3)$ cost of inverting the Gram matrix.
However, \cref{tbl:all_orders} shows that sometimes only the first few orders of interaction contribute much variance.
In those cases, one may be able to limit the maximum degree of interaction in order to save time, without losing much accuracy.
\section{Additive models allow non-local interactions}
%The SE-GP model relies on local smoothing to make predictions at novel locations.
Commonly-used kernels such as the $\kSE$, $\kRQ$ or Mat\'{e}rn kernels are \emph{local} kernels, depending only on the scaled Euclidean distance between two points, all having the form:
\begin{align}
k({\bf x, x'}) = g \!\left( \; \sum_{d=1}^D \left( \frac{ x_{d} - x_{d}' }{ \ell_d } \right)^2 \right)
\end{align}
%\begin{eqnarray}
%k_{se}({\bf x, x'}) & = & v_D^2 \exp \left( -\frac{r^2}{2} \right) \\
%k_{\nu}({\bf x, x'}) & = & \frac{2^{1-\nu}}{\Gamma(\nu)}\left(\sqrt{2\nu}r\right) K_\nu \left(\sqrt{2\nu}r\right)
%\end{eqnarray}
%Where
%\begin{equation}
%$r = \sqrt{\sum_{d=1}^D \left( x_{d} - x_{d}' \right)^2 / l_d^2 }$.
%\end{equation}
for some function $g(\cdot)$.
\citet{bengio2006curse} argued that models based on local kernels are particularly susceptible to the \emph{curse of dimensionality}~\citep{bellman1956dynamic}, and are generally unable to extrapolate away from the training data.
%They emphasize that the locality of the kernels means that these models cannot capture non-local structure.
%They argue that many functions that we care about have such structure.
Methods based solely on local kernels sometimes require training examples at exponentially-many combinations of inputs.
In contrast, additive kernels can allow extrapolation away from the training data.
For example, additive kernels of second order give high covariance between function values at input locations which are similar in any two dimensions.
\begin{figure}[h!]
\centering
\renewcommand{\tabcolsep}{0pt}
\begin{tabular}{cccc}
1st-order terms: & 2nd-order terms: & 3rd-order terms: & All interactions: \\
$k_1 + k_2 + k_3$ & $k_1k_2 + k_2k_3 + k_1k_3$ & $k_1k_2k_3$ & \\
& & \seard{} kernel & Additive kernel\\
\includegraphics[trim=1em 0em 1em 3em, clip, width=0.25\textwidth]{\additivefigsdir/3d-kernel/3d_add_kernel_1} &
\includegraphics[trim=1em 0em 1em 3em, clip, width=0.25\textwidth]{\additivefigsdir/3d-kernel/3d_add_kernel_2} &
\includegraphics[trim=1em 0em 1em 3em, clip, width=0.25\textwidth]{\additivefigsdir/3d-kernel/3d_add_kernel_3} &
\includegraphics[trim=1em 0em 1em 3em, clip, width=0.25\textwidth]{\additivefigsdir/3d-kernel/3d_add_kernel_321}\\
$\vx - \vx'$ & $\vx - \vx'$ & $\vx - \vx'$ & $\vx - \vx'$\\[0.5em]
\end{tabular}
\caption[Isocontours of additive kernels in 3 dimensions]
{Isocontours of additive kernels in $D = 3$ dimensions.
The $D$th-order kernel only considers nearby points relevant, while lower-order kernels allow the output to depend on distant points, as long as they share one or more input value.}
\label{fig:kernels3d}
\end{figure}
\Cref{fig:kernels3d} provides a geometric comparison between squared-exponential kernels and additive kernels in 3 dimensions.
\Cref{sec:additivity-multiple-dimensions} contains an example of how additive kernels extrapolate differently than local kernels.
%This is one possible reason why low-order interactions might improve predictive accuracy.
\section{Dropout in Gaussian processes}
\label{sec:dropout-gps}
\emph{Dropout} is a recently-introduced method for regularizing neural networks~\citep{hinton2012improving, srivastava2013improving}.
Training with dropout entails independently setting to zero (``dropping'') some proportion $p$ of features or inputs, in order to improve the robustness of the resulting network, by reducing co-dependence between neurons.
To maintain similar overall activation levels, the remaining weights are divided by $p$.
% at test time. Alternatively, feature activations are divided by $p$ during training.
Predictions are made by approximately averaging over all possible ways of dropping out neurons.
\citet{baldi2013understanding} and \citet{wang2013fast} analyzed dropout in terms of the effective prior induced by this procedure in several models, such as linear and logistic regression.
In this section, we perform a similar analysis for \gp{}s, examining the priors on functions that result from performing dropout in the one-hidden-layer neural network implicitly defined by a \gp{}.
Recall from \cref{sec:relating} that some \gp{}s can be derived as infinitely-wide one-hidden-layer neural networks, with fixed activation functions $\feat(\vx)$ and independent random weights $\vw$ having zero mean and finite variance $\sigma^2_{\vw}$:
%
\begin{align}
f(\vx)
%= \frac{1}{K}{\mathbf \vnetweights}\tra \hPhi(\vx)
= \frac{1}{K} \sum_{i=1}^K \netweights_i \hphi_i(\vx)
\implies f \distas{K \to \infty} \GPt{0}{\sigma^2_{\vw} \feat(\vx)\tra\feat(\vx')} .
\label{eq:one-layer-gp-two}
\end{align}
%
%Mercer's theorem implies that we can write any \gp{} prior equivalently in this way,
%where $k(\vx, \vx') = \sigma^2_{\vw} \feat(\vx)\tra\feat(\vx'$).
%Having expressed a \gp{} as a neural network, we can examine the prior obtained by performing dropout in this network.
\subsection{Dropout on infinitely-wide hidden layers has no effect}
First, we examine the prior obtained by dropping features from $\hPhi(\vx)$ by setting weights in $\vnetweights$ to zero independently with probability $p$.
For simplicity, we assume that $\expectargs{}{\vnetweights} = \vzero$.
If the weights $w_i$ initially have finite variance $\sigma^2_{\netweights}$ before dropout, then the weights after dropout (denoted by $r_i w_i$, where $r_i$ is a Bernoulli random variable) will have variance:
%
\begin{align}
r_i \simiid \textnormal{Ber}(p) \qquad
\varianceargs{}{r_i \netweights_i} = p \sigma_{\netweights}^2 \;.
\end{align}
%
Because \cref{eq:one-layer-gp-two} is a result of the central limit theorem, it does not depend on the exact form of the distribution on $\vnetweights$, but only on its mean and variance.
Thus the central limit theorem still applies.
Performing dropout on the features of an infinitely-wide \MLP{} does not change the resulting model at all, except to rescale the output variance.
%If we were to rescale the weights by a factor other than $p^{-1/2}$, we would only rescale the output variance of the model, leaving all other aspects identical.
%Is there a better way to drop out features that would lead to robustness?
Indeed, dividing all weights by $\sqrt p$ restores the initial variance:
%
\begin{align}
%\expectargs{}{ \frac{1}{p} r_i \alpha_i } = \frac{p}{p}\mu = \mu, \quad
\varianceargs{}{ \frac{1}{p^\frac{1}{2}} r_i \netweights_i} = \frac{p}{p} \sigma_{\netweights}^2 = \sigma_{\netweights}^2
\end{align}
%
in which case dropout on the hidden units has no effect at all.
Intuitively, this is because no individual feature can have more than an infinitesimal contribution to the network output.
This result does not hold in neural networks having a finite number of hidden features with Gaussian-distributed weights, another model class that also gives rise to \gp{}s.
\subsection{Dropout on inputs gives additive covariance}
One can also perform dropout on the $D$ inputs to the \gp{}.
For simplicity, consider a stationary product kernel ${k(\vx, \vx') = \prod_{d=1}^D k_d(x_d, x_d')}$ which has been normalized such that $k(\vx, \vx) = 1$, and a dropout probability of $p = \nicefrac{1}{2}$.
In this case, the generative model can be written as:
%
\begin{align}
\vr = [r_1, r_2, \dots, r_D], \quad \textnormal{each} \;\; r_i \simiid \textnormal{Ber} \left( \frac{1}{2} \right), \quad f(\vx) | \vr \sim \GP \left( 0, \prod_{d=1}^D k_d(x_d, x_d')^{r_d} \right)
\end{align}
%
This is a mixture of $2^D$ \gp{}s, each depending on a different subset of the inputs:
%
\begin{align}
p \left( f(\vx) \right) =
\sum_{\vr} p \left( f(\vx) | \vr \right) p( \vr) =
\frac{1}{2^D} \sum_{\vr \in \{0,1\}^D} \GP \left(f(\vx) \,\Big|\, 0, \prod_{d=1}^D k_d(x_d, x_d')^{r_d} \right)
\label{eq:dropout-mixture}
\end{align}
We present two results which might give intuition about this model.
First, if the kernel on each dimension has the form ${k_d(x_d, x_d') = g \left( \frac{x_d - x_d'}{\ell_d} \right)}$, as does the \kSE{} kernel, then any input dimension can be dropped out by setting its lengthscale $\ell_d$ to $\infty$.
In this case, performing dropout on the inputs of a \gp{} corresponds to putting independent spike-and-slab priors on the lengthscales, with each dimension's distribution independently having ``spikes'' at $\ell_d = \infty$ with probability mass of $\nicefrac{1}{2}$.
Another way to understand the resulting prior is to note that the dropout mixture (\cref{eq:dropout-mixture}) has the same covariance as an additive \gp{}, scaled by a factor of $2^{-D}$:
\begin{align}
%f(\vx) \sim \textnormal{\gp} \left(0, \frac{1}{2^{-2D}} \sum_{\vr \in \{0,1\}^D} \prod_{d=1}^D k_d(x_d, x_d')^{r_d} \right)
%f(\vx) \sim \textnormal{\gp} \left(0, \frac{1}{2^{D}} \sum_{\vr \in \{0,1\}^D} \prod_{d=1}^D k_d(x_d, x_d')^{r_d} \right)
\cov\left( \colvec{f(\vx)}{f(\vx')} \right) = \frac{1}{2^{D}} \sum_{\vr \in \{0,1\}^D} \prod_{d=1}^D k_d(x_d, x_d')^{r_d}
\label{eq:dropout-mixture-covariance}
\end{align}
%TODO: Make this equation more precise
%
For dropout rates $p \neq \nicefrac{1}{2}$, the $d$th order terms will be weighted by $p^{(D - d)}(1-p)^d$.
Therefore, performing dropout on the inputs of a \gp{} gives a distribution with the same first two moments as an additive \gp{}.
This suggests an interpretation of additive \gp{}s as an approximation to a mixture of models where each model only depends on a subset of the input variables.
\section{Related work}
Since additive models are a relatively natural and easy-to-analyze model class, the literature on similar model classes is extensive.
This section attempts to provide a broad overview.
\subsubsection{Previous examples of additive \sgp{}s}
The additive models considered in this chapter are axis-aligned, but transforming the input space allows one to recover non-axis aligned additivity.
This model was explored by \citet{gilboa2013scaling}, who developed a linearly-transformed first-order additive \gp{} model, called projection-pursuit \gp{} regression.
They showed that inference in this model was possible in $\mathcal{O}(N)$ time.
\citet{durrande2011additive} also examined properties of additive \gp{}s, and proposed a layer-wise optimization strategy for kernel hyperparameters in these models.
\citet{plate1999accuracy} constructed an additive \gp{} having only first-order and $D$th-order terms, motivated by the desire to trade off the interpretability of first-order models with the flexibility of full-order models.
However, \cref{tbl:all_orders} shows that sometimes the intermediate degrees of interaction contribute most of the variance.
\citet{kaufman2010bayesian} used a closely related procedure called Gaussian process \ANOVA{} to perform a Bayesian analysis of meteorological data using 2nd and 3rd-order interactions.
They introduced a weighting scheme to ensure that each order's total contribution sums to zero.
It is not clear if this weighting scheme permits the use of the Newton-Girard formulas to speed computation of the Gram matrix.
%[TODO: read and mention \citep{friedman1981projection} from Hannes]
\subsubsection{Hierarchical kernel learning}
A similar model class was recently explored by \citet{Bach_HKL} called hierarchical kernel learning (\HKL{}).
\HKL{} uses a regularized optimization framework to build a weighted sum of an exponential number of kernels that can be computed in polynomial time.
%
\begin{figure}
\centering
\begin{tabular}{c|c}
Hierarchical kernel learning & All-orders additive \gp{} \\
\includegraphics[height=0.35\textwidth]{\additivefigsdir/compare_models/hkl.pdf} &
\includegraphics[height=0.35\textwidth]{\additivefigsdir/compare_models/additive.pdf}
\\ \hline \\
\gp{} with product kernel & First-order additive \gp{} \\
\includegraphics[height=0.35\textwidth]{\additivefigsdir/compare_models/ard.pdf} &
\includegraphics[height=0.35\textwidth]{\additivefigsdir/compare_models/gam.pdf} \\
\end{tabular}
\caption[A comparison of different additive model classes]
{A comparison of different additive model classes of 4-dimensional functions.
Circles represent different interaction terms, ranging from first-order to fourth-order interactions.
Shaded boxes represent the relative weightings of different terms.
\emph{Top left: }\HKL{} can select a hull of interaction terms, but must use a pre-determined weighting over those terms.
\emph{Top right:} the additive \gp{} model can weight each order of interaction separately, but weights all terms equally within each order.
\emph{Bottom row:} \gp{}s with product kernels (such as the \seard{} kernel) and first-order additive \gp{} models are special cases of the all-orders additive \gp{}, with all variance assigned to a single order of interaction.}
\label{hulls-figure}
\end{figure}
%
This method chooses among a \emph{hull} of kernels, defined as a set of terms such that if $\prod_{j \in J} k_j(\vx, \vx')$ is included in the set, then so are all products of strict subsets of the same elements:
$\prod_{j \in J / i} k_j(\vx, \vx')$, for all $i \in J$.
\HKL{} does not estimate a separate weighting parameter for each order.
%\HKL{} computes the sum over all orders in $\mathcal{O}(D)$ time by the formula:
%
%\begin{align}
%k_a(\vx, \vx') = v^2 \prod_{d=1}^D \left(1 + \alpha k_d( x_d, x_d') \right)
%\label{eqn:uniform}
%\end{align}
%
%which forces the weight of all $n$th order terms to be weighted by $\alpha^n$.
\Cref{hulls-figure} contrasts the \HKL{} model class with the additive \gp{} model.
Neither model class encompasses the other.
The main difficulty with this approach is that its parameters are hard to set other than by cross-validation.
\subsubsection{Support vector machines}
\citet{vapnik1998statistical} introduced the support vector \ANOVA{} decomposition, which has the same form as our additive kernel.
They recommend approximating the sum over all interactions with only one set of interactions ``of appropriate order'', presumably because of the difficulty of setting the parameters of an \SVM{}.
This is an example of a model choice which can be automated in the \gp{} framework.
\citet{stitson1999support} performed experiments which favourably compared the predictive accuracy of the support vector \ANOVA{} decomposition against polynomial and spline kernels.
They too allowed only one order to be active, and set parameters by cross-validation.
%
% The order of the kernel, kernel parameters, the allowable regression error $\epsilon$, and the cost hyperparameter $c$ were all set by a lengthy cross-validation process.
%\subsection{Smoothing Splines ANOVA}
\subsubsection{Other related models}
A closely related procedure from \citet{wahba1990spline} is smoothing-splines \ANOVA{} (\SSANOVA{}).
An \SSANOVA{} model is a weighted sum of splines along each dimension, splines over all pairs of dimensions, all triplets, etc, with each individual interaction term having a separate weighting parameter.
Because the number of terms to consider grows exponentially in the order, only terms of first and second order are usually considered in practice.
%Learning in SS-ANOVA is usually done via penalized-maximum likelihood with a fixed sparsity hyperparameter.
%\citet{shawe2004kernel} define ANOVA kernels thusly: "The ANOVA kernel of degree d is like the all-subsets kernel except that it is restricted to subsets of the given cardinality $d$."
This more general model class, in which each interaction term is estimated separately, is known in the physical sciences as high dimensional model representation (\HDMR{}).
\citet{rabitz1999general} review some properties and applications of this model class.
The main benefits of the model setup and parameterization proposed in this chapter are the ability to include all $D$ orders of interaction with differing weights, and the ability to learn kernel parameters individually per input dimension, allowing automatic relevance determination to operate.
\section{Regression and classification experiments}
\label{sec:additive-experiments}
\subsubsection{Choosing the base kernel}
%A $D$-dimensional \kSE-\ARD{} kernel has $D$ lengthscale parameters and one output variance parameter.
%A first-order additive $\kSE$ model has $D$ lengthscale parameters and $D$ output variance parameters.
An additive \gp{} using a separate $\kSE$ kernel on each input dimension will have ${3 \kerntimes D}$ effective parameters.
Because each additional parameter increases the tendency to overfit, %we recommend allowing only one kernel parameter per input dimension.
%
%Since there always exists a parameterization of the additive function corresponding to the product kernel, we initialize the hyperparameter search for the additive kernel by first learning parameters for the equivalent product kernel. This ensures that we start our search in a reasonable area of hyperparameter space.
%
in our experiments we fixed each one-dimensional kernel's output variance to be 1, and only estimated the lengthscale of each kernel.
\subsubsection{Methods}
We compared six different methods.
In the results tables below, \gp{} Additive refers to a \gp{} using the additive kernel with squared-exp base kernels.
For speed, we limited the maximum order of interaction to 10.
\gp{}-1st denotes an additive \gp{} model with only first-order interactions: a sum of one-dimensional kernels.
\gp{} Squared-exp is a \gp{} using an \seard{} kernel.
\HKL{} was run using the all-subsets kernel, which corresponds to the same set of interaction terms considered by \gp{} Additive.
For all \gp{} models, we fit kernel parameters by the standard method of maximizing training-set marginal likelihood, using \LBFGS{}~\citep{nocedal1980updating} for 500 iterations, allowing five random restarts.
In addition to learning kernel parameters, we fit a constant mean function to the data.
In the classification experiments, approximate \gp{} inference was performed using expectation propagation~\citep{minka2001expectation}.
The regression experiments also compared against the structure search method from \cref{ch:grammar}, run up to depth 10, using only the \SE{} and \RQ{} base kernels.
\subsection{Datasets}
\label{sec:additive-datasets}
We compared the above methods on regression and classification datasets from the \UCI{} repository~\citep{UCI}.
Their size and dimension are given in \cref{table:regression-dataset-stats,table:classification-dataset-stats}:
\begin{table}[h]
\caption{Regression dataset statistics}
\label{tbl:Regression Dataset Statistics}
\begin{center}
\begin{tabular}{l | lllll}
Method & bach & concrete & pumadyn & servo & housing \\ \hline
Dimension & 8 & 8 & 8 & 4 & 13 \\
Number of datapoints & 200 & 500 & 512 & 167 & 506
\end{tabular}
\end{center}
\label{table:regression-dataset-stats}
\end{table}
%
\begin{table}[h]
\caption{Classification dataset statistics}
\label{tbl:Classification Dataset Statistics}
\begin{center}
\begin{tabular}{l | llllll}
Method & breast & pima & sonar & ionosphere & liver & heart\\ \hline
Dimension & 9 & 8 & 60 & 32 & 6 & 13 \\
Number of datapoints & 449 & 768 & 208 & 351 & 345 & 297
\end{tabular}
\end{center}
\label{table:classification-dataset-stats}
\end{table}
\subsubsection{Bach synthetic dataset}
In addition to standard UCI repository datasets, we generated a synthetic dataset using the same recipe as \citet{Bach_HKL}.
This dataset was presumably designed to demonstrate the advantages of \HKL{} over a \gp{} using an \seard{} kernel.
%From a covariance matrix drawn from a Wishart distribution with 1024 degrees of freedom, we select 8 variables.
It is generated by passing correlated Gaussian-distributed inputs $x_1, x_2, \dots, x_8$ through a quadratic function
%
\begin{align}
f(\vx) = \sum_{i=1}^4 \sum_{j=i+1}^4 x_i x_j + \epsilon \qquad \epsilon \sim \Nt{0}{\sigma_\epsilon}.
\end{align}
%
%which sums all 2-way products of the first 4 variables, and adds Gaussian noise $\epsilon$.
This dataset will presumably be well-modeled by an additive kernel which includes all two-way interactions over the first 4 variables, but does not depend on the extra 4 correlated nuisance inputs or the higher-order interactions.%, as well as the higher-order interactions.
%TODO: Move description to grammar experiments?
%If the dataset is large enough, \HKL{} can construct a hull around only the 16 cross-terms optimal for predicting the output.
%\gp{}-\SE{}, in contrast, can learn to ignore the noisy copy variables, but cannot learn to ignore the higher-order interactions between dimensions.
%However, a \gp{} with an additive kernel can learn both to ignore irrelevant variables, and to ignore missing orders of interaction.
%With enough data, the marginal likelihood will favour hyperparameters specifying such a model.
%In this example, the additive \gp{} is able to recover the relevant structure.
\subsection{Results}
\Cref{tbl:Regression Mean Squared Error,tbl:Regression Negative Log Likelihood,tbl:Classification Percent Error,tbl:Classification Negative Log Likelihood} show mean performance across 10 train-test splits.
Because \HKL{} does not specify a noise model, it was not included in the likelihood comparisons.
% --- Automatically generated by resultsToLatex2.m ---
% Exported at 19-Jan-2012 10:55:19
\begin{table}
\caption[Comparison of predictive error on regression problems]
{Regression mean squared error}
\label{tbl:Regression Mean Squared Error}
\begin{center}
\begin{tabular}{l | r r r r r}
Method & \rotatebox{0}{ bach } & \rotatebox{0}{ concrete } & \rotatebox{0}{ pumadyn-8nh } & \rotatebox{0}{ servo } & \rotatebox{0}{ housing } \\ \hline
Linear Regression & $1.031$ & $0.404$ & $0.641$ & $0.523$ & $0.289$ \\
\gp{}-1st & $1.259$ & $0.149$ & $0.598$ & $0.281$ & $0.161$ \\
\HKL{} & $\mathbf{0.199}$ & $0.147$ & $0.346$ & $0.199$ & $0.151$ \\
\gp{} Squared-exp & $\mathbf{0.045}$ & $0.157$ & $0.317$ & $0.126$ & $\mathbf{0.092}$ \\
\gp{} Additive & $\mathbf{0.045}$ & $\mathbf{0.089}$ & $\mathbf{0.316}$ & $\mathbf{0.110}$ & $0.102$ \\
Structure Search & $\mathbf{0.044}$ & $\mathbf{0.087}$ & $\mathbf{0.315}$ & $\mathbf{0.102}$ & $\mathbf{0.082}$
\end{tabular}
\end{center}
%\end{table}
% End automatically generated LaTeX
%
% --- Automatically generated by resultsToLatex2.m ---
% Exported at 19-Jan-2012 10:55:19
%\begin{table}[h!]
\caption[Comparison of predictive likelihood on regression problems]
{Regression negative log-likelihood}
\label{tbl:Regression Negative Log Likelihood}
\begin{center}
\begin{tabular}{l | r r r r r}
Method & \rotatebox{0}{ bach } & \rotatebox{0}{ concrete } & \rotatebox{0}{ pumadyn-8nh } & \rotatebox{0}{ servo } & \rotatebox{0}{ housing } \\ \hline
Linear Regression & $2.430$ & $1.403$ & $1.881$ & $1.678$ & $1.052$ \\
\gp{}-1st & $1.708$ & $0.467$ & $1.195$ & $0.800$ & $0.457$ \\
GP Squared-exp & $\mathbf{-0.131}$ & $0.398$ & $0.843$ & $0.429$ & $0.207$ \\
GP Additive & $\mathbf{-0.131}$ & $\mathbf{0.114}$ & $\mathbf{0.841}$ & $\mathbf{0.309}$ & $0.194$ \\
Structure Search & $\mathbf{-0.141}$ & $\mathbf{0.065}$ & $\mathbf{0.840}$ & $\mathbf{0.265}$ & $\mathbf{0.059}$
\end{tabular}
\end{center}
\end{table}
% End automatically generated LaTeX
%
% --- Automatically generated by resultsToLatex2.m ---
% Exported at 03-Jun-2011 00:23:25
\begin{table}
\caption[Comparison of predictive error on classification problems]
{Classification percent error}
\label{tbl:Classification Percent Error}
\begin{center}
\begin{tabular}{l | r r r r r r}
Method & \rotatebox{0}{ breast } & \rotatebox{0}{ pima } & \rotatebox{0}{ sonar } & \rotatebox{0}{ ionosphere } & \rotatebox{0}{ liver } & \rotatebox{0}{ heart } \\ \hline
Logistic Regression & $7.611$ & $24.392$ & $26.786$ & $16.810$ & $45.060$ & $\mathbf{16.082}$ \\
\gp{}-1st & $\mathbf{5.189}$ & $\mathbf{22.419}$ & $\mathbf{15.786}$ & $\mathbf{8.524}$ & $\mathbf{29.842}$ & $\mathbf{16.839}$ \\
\HKL{} & $\mathbf{5.377}$ & $24.261$ & $\mathbf{21.000}$ & $9.119$ & $\mathbf{27.270}$ & $\mathbf{18.975}$ \\
\gp{} Squared-exp & $\mathbf{4.734}$ & $\mathbf{23.722}$ & $\mathbf{16.357}$ & $\mathbf{6.833}$ & $\mathbf{31.237}$ & $\mathbf{20.642}$ \\
\gp{} Additive & $\mathbf{5.566}$ & $\mathbf{23.076}$ & $\mathbf{15.714}$ & $\mathbf{7.976}$ & $\mathbf{30.060}$ & $\mathbf{18.496}$ \\
\end{tabular}
\end{center}
%\end{table}
% End automatically generated LaTeX
%
% --- Automatically generated by resultsToLatex2.m ---
% Exported at 03-Jun-2011 00:23:28
%\begin{table}[h!]
\caption[Comparison of predictive likelihood on classification problems]
{Classification negative log-likelihood}
\label{tbl:Classification Negative Log Likelihood}
\begin{center}
\begin{tabular}{l | r r r r r r}
Method & \rotatebox{0}{ breast } & \rotatebox{0}{ pima } & \rotatebox{0}{ sonar } & \rotatebox{0}{ ionosphere } & \rotatebox{0}{ liver } & \rotatebox{0}{ heart } \\ \hline
Logistic Regression & $0.247$ & $0.560$ & $4.609$ & $0.878$ & $0.864$ & $0.575$ \\
\gp{}-1st & $\mathbf{0.163}$ & $\mathbf{0.461}$ & $\mathbf{0.377}$ & $\mathbf{0.312}$ & $\mathbf{0.569}$ & $\mathbf{0.393}$ \\
\gp{} Squared-exp & $\mathbf{0.146}$ & $0.478$ & $\mathbf{0.425}$ & $\mathbf{0.236}$ & $\mathbf{0.601}$ & $0.480$ \\
\gp{} Additive & $\mathbf{0.150}$ & $\mathbf{0.466}$ & $\mathbf{0.409}$ & $\mathbf{0.295}$ & $\mathbf{0.588}$ & $\mathbf{0.415}$ \\
\end{tabular}
\end{center}
\end{table}
% End automatically generated LaTeX
On each dataset, the best performance is in boldface, along with all other performances not significantly different under a paired $t$-test.
%The additive model never performs significantly worse than any other model, and sometimes performs significantly better than all other models.
The additive and structure search methods usually outperformed the other methods, especially on regression problems.
%The difference between all methods is larger in the case of regression experiments.
The structure search outperforms the additive \gp{} at the cost of a slower search over kernels.
Structure search was on the order of 10 times slower than the additive \gp{}, which was on the order of 10 times slower than \gp{}-\kSE{}.
The additive \gp{} performed best on datasets well-explained by low orders of interaction, and approximately as well as the \SE{}-\gp{} model on datasets which were well explained by high orders of interaction (see \cref{tbl:all_orders}).
Because the additive \gp{} is a superset of both the \gp{}-1st model and the \gp{}-\kSE{} model, instances where the additive \gp{} performs slightly worse are presumably due to over-fitting, or due to the hyperparameter optimization becoming stuck in a local maximum. % Absence of over-fitting may explain the relatively strong performance of GP-GAM on classification tasks.
Performance of all \gp{} models could be expected to benefit from approximately integrating over kernel parameters.
The performance of \HKL{} is consistent with the results in \citet{Bach_HKL}, performing competitively but slightly worse than \SE{}-\gp{}.
\subsubsection{Source code}
%Additive Gaussian processes are particularly appealing in practice because their use requires only the specification of the base kernel; all other aspects of \gp{} inference remain the same.
%Note that we are also free to choose a different covariance function along each dimension.
All of the experiments in this chapter were performed using the standard \GPML{} toolbox, available at \url{http://wwww.gaussianprocess.org/gpml/code}.
The additive kernel described in this chapter is included in \GPML{} as of version 3.2.
Code to perform all experiments in this chapter is available at \url{http://www.github.com/duvenaud/additive-gps}.
\section{Conclusions}
This chapter presented a tractable \gp{} model consisting of a sum of exponentially-many functions, each depending on a different subset of the inputs.
Our experiments indicate that, to varying degrees, such additive structure is useful for modeling real datasets.
When it is present, modeling this structure allows our model to perform better than standard \gp{} models.
In the case where no such structure exists, the higher-order interaction terms present in the kernel can recover arbitrarily flexible models.
The additive \gp{} also affords some degree of interpretability: the variance parameters on each order of interaction indicate which sorts of structure are present the data, although they do not indicate which particular interactions explain the dataset.
The model class considered in this chapter is a subset of that explored by the structure search presented in \cref{ch:grammar}.
Thus additive \gp{}s can be considered a quick-and-dirty structure search, being strictly more limited in the types of structure that it can discover, but much faster and simpler to implement.
Closely related model classes have previously been explored, most notably smoothing-splines \ANOVA{} and the support vector \ANOVA{} decomposition.
However, these models can be difficult to apply in practice because their kernel parameters, regularization penalties, and the relevant orders of interaction must be set by hand or by cross-validation.
This chapter illustrates that the \gp{} framework allows these model choices to be performed automatically.
\outbpdocument{
\bibliographystyle{plainnat}
\bibliography{references.bib}
}
================================================
FILE: appendix.tex
================================================
\input{common/header.tex}
\inbpdocument
\chapter{Gaussian Conditionals}
\label{ch:appendix-gaussians}
%\section{Formula for Gaussian Conditionals}
A standard result shows how to condition on a subset of dimensions $\vy_B$ of a vector $\vy$ having a multivariate Gaussian distribution.
If
%
\begin{align}
\vy = \colvec{\vy_A}{\vy_B} \sim \Nt{\colvec{\vmu_A}{\vmu_B}}{\left[ \begin{array}{cc}\vSigma_{AA} & \vSigma_{AB} \\ \vSigma_{BA} & \vSigma_{BB} \end{array} \right]}
%\left[ \begin{array} \vx_A \sim \Nt{\vmu_A}{
%| \vx_B \sim \Nt{\vmu_A + \vSigma_{AB} \vSigma_{BB}\inv \left( \vx_B - \vmu_B \right) }
%{\vSigma_{AA} - \vSigma_{AB} \vSigma_{BB}\inv \vSigma_{BA} }
%\label{eq:gauss_conditional}
\end{align}
%
then
%
\begin{align}
\vy_A | \vy_B \sim \mathcal{N} \big(\vmu_A + \vSigma_{AB} \vSigma_{BB}\inv \left( \vx_B - \vmu_B \right),
\vSigma_{AA} - \vSigma_{AB} \vSigma_{BB}\inv \vSigma_{BA} \big).
\label{eq:gauss_conditional}
\end{align}
This result can be used in the context of Gaussian process regression, where $\vy_B = [f(\vx_1), f(\vx_2), \dots, f(\vx_N)]$ represents a set of function values observed at some subset of locations $[\vx_1, \vx_2, \dots, \vx_N]$, while $\vy_A = [f(\vx_1\star), f(\vx_2\star), \ldots, f(\vx_N\star)]$ represents test points whose predictive distribution we'd like to know.
In this case, the necessary covariance matrices are given by:
%
\begin{align}
\vSigma_{AA} & = k(\vX^\star, \vX^\star) \\
\vSigma_{AB} & = k(\vX^\star, \vX) \\
\vSigma_{BA} & = k(\vX, \vX^\star) \\
\vSigma_{BB} & = k(\vX, \vX)
\end{align}
and similarly for the mean vectors.
\chapter{Kernel Definitions}
\label{sec:kernel-definitions}
%\newcommand{\scalefactor}{\sigma_f^2}
\newcommand{\scalefactor}{}
This appendix gives the formulas for all one-dimensional base kernels used in the thesis.
Each of these formulas is multiplied by a scale factor $\sigma_f^2$, which we omit for clarity.
%
\begin{align}
\kC(\inputVar, \inputVar') & = \scalefactor 1 \\
\kSE(\inputVar, \inputVar') & = \scalefactor \exp\left(-\frac{(\inputVar - \inputVar')^2}{2\ell^2}\right) \label{eq:appendix-se}\\
\kPer(x, x') & = \exp\left(-\frac{2}{\ell^2} \sin^2 \left( \pi \frac{\inputVar - \inputVar'}{p} \right)\right) \label{eq:appendix-periodic}\\
\kLin(\inputVar, \inputVar') & = \scalefactor (\inputVar - c)(\inputVar' - c) \label{eq:appendix-lin} \\
\kRQ(x, x') & = \scalefactor \left( 1 + \frac{(\inputVar - \inputVar')^2}{2\alpha\ell^2}\right)^{-\alpha} \label{eq:appendix-rq}\\
%\kPer(\inputVar, \inputVar') & = \sigma_f^2 \frac{\exp\left(\frac{1}{\ell^2}\cos 2 \pi \frac{(\inputVar - \inputVar')}{p}\right) - I_0\left(\frac{1}{\ell^2}\right)}{\exp\left(\frac{1}{\ell^2}\right) - I_0\left(\frac{1}{\ell^2}\right)} \label{eq:generalized-periodic} \\
%\kPer(\inputVar, \inputVar') & = \scalefactor \exp\left(\frac{1}{\ell^2}\cos 2 \pi \frac{(\inputVar - \inputVar')}{p}\right) - I_0\left(\frac{1}{\ell^2}\right) \\
\cos(x, x') & = \scalefactor \cos\left(\frac{2 \pi (x - x')}{p}\right) \label{eq:appendix-cos} \\
\kWN(\inputVar, \inputVar') & = \scalefactor \delta(\inputVar - \inputVar') \label{eq:appendix-wn}\\
\kCP(\kernel_1, \kernel_2)(x, x') & = \scalefactor \sigma(x) k_1(x,x')\sigma(x') + (1-\sigma(x)) k_2(x,x')(1-\sigma(x')) \\
\boldsymbol\sigma(\inputVar, \inputVar') & = \scalefactor \sigma(x)\sigma(x') \\
\boldsymbol{\bar\sigma}(\inputVar, \inputVar') & = \scalefactor (1-\sigma(x))(1-\sigma(x'))
\end{align}
%
where $\delta_{\inputVar, \inputVar'}$ is the Kronecker delta function, $\{c,\ell,p,\alpha\}$ represent kernel parameters, and ${\sigma(x) = \nicefrac{1}{1 + \exp(-x)}}$.
\Cref{eq:appendix-se,eq:appendix-periodic,eq:appendix-lin} are plotted in \cref{fig:basic_kernels}, and \cref{eq:appendix-wn,eq:appendix-rq,eq:appendix-cos} are plotted in \cref{fig:basic_kernels_two}.
Draws from \gp{} priors with changepoint kernels are shown in \cref{fig:changepoint_examples}.
\subsubsection{The zero-mean periodic kernel}
%\citet{lloyd-periodic}
James Lloyd (personal communication) showed that the standard periodic kernel due to \citet{mackay1998introduction} can be decomposed into a sum of a periodic and a constant component.
He derived the equivalent periodic kernel without any constant component:
%, shown in \cref{eq:generalized-periodic}.
%
\begin{align}
\kPerGen(\inputVar, \inputVar') & = \sigma_f^2 \frac{\exp\left(\frac{1}{\ell^2}\cos 2 \pi \frac{(\inputVar - \inputVar')}{p}\right) - I_0\left(\frac{1}{\ell^2}\right)}{\exp\left(\frac{1}{\ell^2}\right) - I_0\left(\frac{1}{\ell^2}\right)} \label{eq:generalized-periodic}
\end{align}
%
where $I_0$ is the modified Bessel function of the first kind of order zero.
He further showed that its limit as the lengthscale grows is the cosine kernel:
%
\begin{equation}
\lim_{\ell \to \infty} \kPerGen(x, x') = \cos\left(\frac{2 \pi (x - x')}{p}\right).
\end{equation}
Separating out the constant component allows us to express negative prior covariance, as well as increasing the interpretability of the resulting models.
This covariance function is included in the \GPML{} software package~\citep{GPML}, and its source can be viewed at \url{gaussianprocess.org/gpml/code/matlab/cov/covPeriodicNoDC.m}.
\chapter{Search Operators}
\label{ch:appendix-search}
\label{sec:search-operators}
%\subsection{Overview}
The model construction phase of \procedurename{} starts with the noise kernel, $\kWN$.
New kernel expressions are generated by applying search operators to the current kernel, which replace some part of the existing kernel expression with a new kernel expression.
%When new base kernels are proposed by the search operators, their parameters are randomly initialised with several restarts.
%Parameters are then optimized by conjugate gradients to maximise the likelihood of the data conditioned on the kernel parameters.
%The kernels are then scored by the Bayesian information criterion and the top scoring kernel is selected as the new kernel.
%The search then proceeds by applying the search operators to the new kernel \ie this is a greedy search algorithm.
%In all experiments, 10 random restarts were used for parameter initialisation and the search was run to a depth of 10.
%\subsection{Search operators}
The search used in the multidimensional regression experiments in \cref{sec:synthetic,sec:additive-experiments} used only the following search operators:
%
\begin{eqnarray}
\mathcal{S} &\to& \mathcal{S} + \mathcal{B} \\
\mathcal{S} &\to& \mathcal{S} \times \mathcal{B} \label{eq:search-multiply}\\
\mathcal{B} &\to& \mathcal{B'}
\end{eqnarray}
%
where $\mathcal{S}$ represents any kernel sub-expression and $\mathcal{B}$ is any base kernel within a kernel expression.
These search operators represent addition, multiplication and replacement.
When the multiplication operator is applied to a sub-expression which includes a sum of sub-expressions, parentheses () are introduced.
For instance, if rule \eqref{eq:search-multiply} is applied to the sub-expression $k_1 + k_2$, the resulting expression is $(k_1 \kernplus k_2) \kerntimes \mathcal{B}$.
Afterwards, we added several more search operators in order to speed up the search.
This expanded set of operators was used in the experiments in \cref{sec:time_series,sec:Predictive accuracy on time series,ch:description}.
These new operators do not change the set of possible models.
To accommodate changepoints and changewindows, we introduced the following additional operators to our search:
%
\begin{eqnarray}
\mathcal{S} &\to& \kCP(\mathcal{S},\mathcal{S}) \\
\mathcal{S} &\to& \kCW(\mathcal{S},\mathcal{S}) \\
\mathcal{S} &\to& \kCW(\mathcal{S},\kC) \\
\mathcal{S} &\to& \kCW(\kC,\mathcal{S})
\end{eqnarray}
%
where $\kC$ is the constant kernel.
The last two operators result in a kernel only applying outside, or within, a certain region.
To allow the search to simplify existing expressions, we introduced the following operators:
%
\begin{eqnarray}
\mathcal{S} &\to& \mathcal{B}\\
\mathcal{S} + \mathcal{S'} &\to& \mathcal{S}\\
\mathcal{S} \times \mathcal{S'} &\to& \mathcal{S}
\end{eqnarray}
%
where $\mathcal{S'}$ represents any other kernel expression.
%Their introduction is currently not rigorously justified.
We also introduced the operator
%
\begin{eqnarray}
\mathcal{S} &\to& \mathcal{S} \times (\mathcal{B} + \kC)
\end{eqnarray}
%
Which allows a new base kernel to be added along with the constant kernel, for cases when multiplying by a base kernel by itself would be overly restrictive.
\chapter{Example Automatically Generated Report}
\label{ch:example-solar}
The following pages of this appendix contain an automatically-generated report, run on a dataset measuring annual solar irradiation data from 1610 to 2011.
This dataset was previously analyzed by \citet{lean1995reconstruction}.
The structure search was run using the \procedurename-interpretable variant, with base kernels $\kSE$, $\kLin$, $\kC$, $\kPer$, $\vsigma$, and $\kWN$.
Other example reports can be found at \url{http://www.mlg.eng.cam.ac.uk/Lloyd/abcdoutput/}, including analyses of wheat prices, temperature records, call centre volumes, radio interference, gas production, unemployment, number of births, and wages over time.
\newcommand{\solarreportpage}[1]{\includegraphics[width=\columnwidth]{figures/solarpages/02-solar-seperate-pages-#1}}
\clearpage
%\solarreportpage{1}
\solarreportpage{2}
\\ \vspace{1cm} \\
\solarreportpage{3}
\\ \vspace{1cm} \\
\solarreportpage{4}
\\ \vspace{1cm} \\
\solarreportpage{5}
\\ \vspace{1cm} \\
\solarreportpage{6}
\\ \vspace{1cm} \\
\solarreportpage{7}
\\ \vspace{1cm} \\
\solarreportpage{8}
\\ \vspace{1cm} \\
\solarreportpage{9}
\\ \vspace{1cm} \\
\solarreportpage{10}
\\ \vspace{1cm} \\
\solarreportpage{11}
\\ \vspace{1cm} \\
\solarreportpage{12}
\\ \vspace{1cm} \\
\solarreportpage{13}
%\solarreportpage{14}
%\solarreportpage{15}
%\solarreportpage{16}
%\solarreportpage{17}
%\solarreportpage{18}
%\solarreportpage{19}
%\solarreportpage{20}
%\solarreportpage{21}
%\solarreportpage{22}
\chapter{Inference in the Warped Mixture Model}
\label{ch:warped-appendix}
\subsubsection{Detailed definition of model}
The \iwmm{} assumes that the latent density is an infinite mixture of Gaussians:
%
\begin{align}
p(\vx ) = \sum_{c=1}^{\infty} \lambda_c \, {\cal N}(\vx|\bm{\mu}_{c},\vR_{c}\inv)
\end{align}
%
where $\lambda_{c}$, $\bm{\mu}_{c}$ and $\vR_{c}$ is the mixture weight, mean, and precision matrix of the $c$\textsuperscript{th} mixture component.
We place a conjugate Gaussian-Wishart priors on the Gaussian parameters $\{\bm{\mu}_{c},\vR_{c}\}$:
%
\begin{align}
p(\bm{\mu}_{c},\vR_{c})
= {\cal N}(\bm{\mu}_{c}|\vu,(r\vR_{c})\inv)
{\cal W}(\vR_{c}|\vS\inv,\nu),
\label{eq:normal-wishar-prior}
\end{align}
%
where $\vu$ is the mean of $\vmu_c$, $r$ is the relative precision of $\vmu_c$, $\vS\inv$ is the scale matrix for $\vR_c$, and $\nu$ is the number of degrees of freedom for $\vR_c$.
The Wishart distribution is defined as:
%
\begin{align}
{\cal W}(\vR|\vS\inv,\nu)=\frac{1}{G}|\vR|^{\frac{\nu-Q-1}{2}}\exp\left(-\frac{1}{2}{\rm tr}(\vS\vR)\right),
\end{align}
%
where $G$ is the normalizing constant.
Because we use conjugate Gaussian-Wishart priors for the parameters of the Gaussian mixture components, we can analytically integrate out those parameters given the assignments of points to components.
Let $z_n$ be the assignment of the $n$\textsuperscript{th} point.
The prior probability of latent coordinates $\vX$ given latent cluster assignments $\CLAS=(\CLASi_1, \CLASi_2, \ldots, \CLASi_N)$ factorizes over clusters, and can be obtained in closed-form by integrating out the Gaussian parameters $\{\vmu_c, \vR_c\}$ to give:
%
\begin{align}
p(\vX | \CLAS, \vS, \nu, r) = \prod_{c=1}^{\infty}
\pi^{-\frac{N_c Q}{2}}\frac{r^{Q/2} \left|\vS \right|^{\nu/2}}{r_c^{Q/2} \left| \vS_c \right|^{\nu_c/2}}
\times \prod_{q=1}^Q \frac{\Gamma \left( \frac{\nu_c + 1 - q}{2} \right)}{\Gamma \left( \frac{\nu+1-q}{2} \right)},
\label{eq:px_z}
\end{align}
%
where $N_c$ is the number of data points assigned to the $c$\textsuperscript{th} component, $\Gamma(\cdot)$ is the Gamma function, and
%
\begin{align}
r_{c}=r+N_{c},
\hspace{2em}
\nu_{c}=\nu+N_{c},
\hspace{2em}
%\nonumber
%\end{align}
%\begin{align}
\vu_c=\frac{\displaystyle r\vu + \sum_{n:z_n = c} \vx_n}{r+N_c}, \\[1em]
%\end{align}
%
%\begin{align}
\textnormal{and} \hspace{2em} \vS_{c}=\vS+\sum_{n:z_{n}=c}\vx_{n}\vx_{n}\tra + r\vu\vu\tra
- r_{c}\vu_{c}\vu_{c}\tra,
\end{align}
%
are the posterior Gaussian-Wishart parameters of the $c$\textsuperscript{th} component~\citep{murphy2007conjugate}.
To model the cluster assignments, we use a Dirichlet process~\citep{maceachern1998estimating} with concentration parameter $\eta$.
% for infinite mixture modeling in the latent space.
%The probability under a Dirichlet-multinomial prior of observing assignment $\CLAS$ is:
Under a Dirichlet process prior, the probability of observing a particular cluster assignment $\CLAS$ depends only on the partition induced, and is given by the Chinese restaurant process:
%
\begin{align}
p(\CLAS|\eta) =
\frac{\Gamma(\eta) \eta^C}{\Gamma(\eta + N)} \prod_{c=1}^C \Gamma( N_c )
%= \frac{\eta^{C}\prod_{c=1}^C (N_c-1)!}{\eta(\eta+1)\ldots(\eta+N-1)},
\label{eq:pz}
\end{align}
%
where $C$ is the number of components for which $N_c > 0$, and $N$ is the total number of datapoints.
The joint distribution of observed coordinates, latent coordinates, and cluster assignments is given by
%
\begin{align}
p(\vY,\vX,\CLAS|\bm{\theta},\bm{S},\nu,\vu,r,\eta)
= p(\vY|\vX,\bm{\theta})
p(\vX|\CLAS,\bm{S},\nu,\vu,r)p(\CLAS|\eta),
\label{eq:joint}
\end{align}
%
where the factors in the right hand side can be calculated by equations \eqref{eq:py_x}, \eqref{eq:px_z} and \eqref{eq:pz}, respectively.
\iffalse
\subsubsection{Generative description of model}
The infinite warped mixture model generates observations $\vY$ according to the following generative process:
%
\begin{enumerate}
\item Draw mixture weights $\bm{\lambda} \sim \GEM(\eta)$
\item For each component $c=1, 2, \dots, \infty$
\begin{enumerate}
\item Draw precision $\vR_c \sim {\mathcal W}(\vS\inv, \nu)$
\item Draw mean $\vmu_c \sim {\mathcal N}(\vu,(r\vR_c)\inv)$
\end{enumerate}
\item For each observed dimension $d=1, 2, \dots, D$
\begin{enumerate}
\item Draw function $f_{d}(\vx) \sim {\rm GP}(m(\vx),k(\vx,\vx'))$
\end{enumerate}
\item For each observation $n=1, 2, \dots,N$
\begin{enumerate}
\item Draw latent assignment $z_n \sim {\rm Mult}(\bm{\lambda})$
\item Draw latent coordinates $\vx_n \sim {\mathcal N}(\vmu_{z_n},\vR_{z_n}\inv)$
\item For each observed dimension $d=1, 2, \dots, D$
\begin{enumerate}
\item Draw feature $y_{nd} \sim {\cal N}(f_d(\vx_n), \sigma^2_n)$
\end{enumerate}
\end{enumerate}
\end{enumerate}
%
Here, $\GEM(\eta)$ is the stick-breaking process \citep{sethuraman94} that generates mixture weights for a Dirichlet process with parameter $\eta$, %${\rm Mult}(\cdot)$ represents a multinomial distribution,
${\rm Mult}(\bm{\lambda})$ represents a multinomial distribution with parameter $\bm{\lambda}$,
$m(\vx)$ is the mean function of the Gaussian process, $\vx,\vx'\in{\mathbb R}^{Q}$ and $\sigma^2_n$ is the noise variance of the \gp{} kernel.
\fi
\subsubsection{Details of inference}
\label{sec:iwmm-inference-details}
%By placing conjugate Gaussian-Wishart priors on the parameters of the Gaussian mixture components, we analytically integrate out those parameters given the assignments of points to clusters.
After analytically integrating out the parameters of the Gaussian mixture components, the only remaining variables to infer are the latent points $\vX$, the cluster assignments $\CLAS$, and the kernel parameters $\vtheta$.
We'll estimate the posterior over these parameters using Markov chain Monte Carlo.
In particular, we'll alternate between collapsed Gibbs sampling of each row of $\CLAS$, and Hamiltonian Monte Carlo sampling of $\vX$ and $\vtheta$.
First, we explain collapsed Gibbs sampling for the cluster assignments $\CLAS$.
Given a sample of $\vX$, $p(\CLAS | \vX, \vS, \nu, \vu, r, \eta)$ does not depend on $\vY$.
This lets us resample cluster assignments, integrating out the \iGMM{} likelihood in closed form.
Given the current state of all but one latent component $z_n$, a new value for $z_n$ is sampled with the following probability:
%
\begin{align}
p(z_{n}=c|\vX,\CLAS_{\setminus n},\bm{S},\nu,\vu,r,\eta)
& \propto\!
\left\{
\begin{array}{ll}
\!\!N_{c\setminus n}\cdot p(\vx_{n}|\vX_{c\setminus n},\bm{S},\nu,\vu,r) & \text{{\small existing components}}\\
\!\!\eta\cdot p(\vx_{n}|\bm{S},\nu,\vu,r) & \text{{\small a new component}}
\end{array}
\right.
\label{eq:gibbs}
\end{align}
%
where
$\vX_{c}=\{\vx_{n}|z_{n}=c\}$
is the set of latent coordinates assigned to the $c$\textsuperscript{th} component,
and $\setminus n$ represents the value or set when excluding the $n$\textsuperscript{th} data point.
We can analytically calculate $p(\vx_{n}|\vX_{c\setminus n},\bm{S},\nu,\vu,r)$
as follows:
%
\begin{align}
p(\vx_{n}|\vX_{c\setminus n},\bm{S},\nu,\vu,r)
=\pi^{-\frac{N_{c\setminus n}Q}{2}}
\frac{r_{c\setminus n} ^{Q/2} \left| \vS_{c\setminus n} \right|^{\nu_{c\setminus n}/2}}
{r_{c\setminus n}'^{Q/2} \left| \vS_{c\setminus n}' \right|^{\nu_{c\setminus n}'/2}}
\times \prod_{d=1}^{Q}
\frac{\Gamma \left( \frac{\nu_{c\setminus n}' + 1 - d}{2} \right)}
{\Gamma \left( \frac{\nu_{c\setminus n} + 1 - d}{2} \right)},
\label{eq:iwmm-cluster-gibbs}
\end{align}
%
where $r_{c}'$, $\nu_{c}'$, $\vu_{c}'$ and $\vS_{c}'$ represent the posterior on Gaussian-Wishart parameters of the $c$\textsuperscript{th} component when the $n$\textsuperscript{th} data point has been assigned to it.
%the $c$\textsuperscript{th} component.
We can efficiently calculate the determinant $\left| \vS_{c\setminus n}' \right|$ using the rank-one Cholesky update.
A special case of \cref{eq:iwmm-cluster-gibbs} gives the likelihood for a new component, $p(\vx_{n}|\bm{S},\nu,\vu,r)$.
\subsubsection{Gradients for Hamiltonian Monte Carlo}
Hamiltonian Monte Carlo (\HMC{}) sampling of $\vX$ from posterior ${p(\vX|\CLAS,\vY,\bm{\theta},\bm{S},\nu,\vu,r)}$, requires computing the gradient of the log-unnormalized-posterior with respect to $\vX$:
%
\begin{align}
\pderiv{}{\vX} \big[ \log p(\vY|\vX,\bm{\theta}) + \log p(\vX|\CLAS,\bm{S},\nu,\vu,r) \big]
\label{eq:warped-hmc1}
\end{align}
%
The first term of gradient \eqref{eq:warped-hmc1} can be calculated by
%
\begin{align}
\pderiv{\log p(\vY | \vX,\bm{\theta})}{\vX} = \pderiv{\log p(\vY | \vX,\bm{\theta})}{\vK} \pderiv{\vK}{\vX} = \left[ -\frac{1}{2}D\vK\inv+\frac{1}{2}\vK\inv \vY \vY^{T} \vK\inv \right]\left[\pderiv{\vK}{\vX}\right],
\label{eq:warped-hmc2}
\end{align}
%
where for an $\kSE + \kWN$ kernel with the same lengthscale $\ell$ on all dimensions,
%
\begin{align}
\pderiv{k(\vx_{n},\vx_{m})}{\vx_n}
& = -\frac{\sigma^2_f}{\ell^2} \exp \left( - \frac{1}{2 \ell^2} (\vx_n - \vx_m)\tra (\vx_n - \vx_m) \right) (\vx_n - \vx_m).
\label{eq:warped-hmc3}
\end{align}
%
%using the chain rule.
The second term of \eqref{eq:warped-hmc1} is given by
\begin{align}
\frac{\partial \log p(\vX|\CLAS,\bm{S},\nu,\vu,r)}{\partial \vx_{n}}
= -\nu_{z_{n}}\bm{S}_{z_{n}}\inv(\vx_{n}-\vu_{z_{n}}).
\label{eq:warped-hmc4}
\end{align}
We also infer kernel parameters $\vtheta$ via \HMC{}, using the gradient of the log unnormalized posterior with respect to the kernel parameters, using an improper uniform prior.
\subsubsection{Posterior predictive density}
\label{sec:iwmm-predictive-density}
In the \gplvm{}, the predictive density of at test point $\vy_\star$ is usually computed by finding the point $\vx_\star$ which has the highest probability of being mapped to $\vy_\star$, then using the density of $p(\vx_\star)$ and the Jacobian of the warping at that point to approximate the density at $\vy_\star$.
When inference is done this way, approximating the predictive density only requires solving a single optimization for each $\vy_\star$.
For our model, we use approximate integration to estimate $p(\vy_\star)$.
This is done for two reasons:
First, multiple latent points (possibly from different clusters) can map to the same observed point, meaning the standard method can underestimate $p(\vy_\star)$.
Second, because we do not optimize the latent coordinates of training points, but instead sample them, we would need to optimize each $p(\vx_\star)$ separately for each sample in the Markov chain.
One advantage of our method is that it gives estimates for all $p(\vy_\star)$ at once.
However, it may not be as accurate in very high observed dimensions, when the volume to sample over is relatively large.
The posterior density in the observed space given the training data is
%
\begin{align}
p(\vy_\star | \vY)
& = \int \!\!\! \int p(\vy_\star,\vx_\star, \vX | \vY)d\vx_\star d\vX \nonumber\\
& = \int\!\!\! \int p(\vy_\star | \vx_\star, \vX, \vY)p(\vx_\star|\vX,\vY)p(\vX|\vY)d\vx_\star d\vX.
\label{eq:density}
\end{align}
%
We first approximate $p(\vX | \vY)$ using samples from the Gibbs and Hamiltonian Monte Carlo chain.
We then approximate $p(\vx_\star | \vX, \vY)$ by sampling points from the posterior density in the latent space and warping them, using the following procedure:
%
\begin{enumerate}
\item Draw a latent cluster assignment $z_\star \sim {\rm Mult} \left( \frac{N_{1}}{N+\eta}, \frac{N_{2}}{N+\eta}, \cdots,\frac{N_{C}}{N+\eta},\frac{\eta}{N+\eta} \right)$
\item Draw a latent cluster precision matrix $\vR_\star \sim {\cal W}(\vS\inv_{z_\star},\nu_{z_\star})$
\item Draw a latent cluster mean $\vmu_\star \sim {\cal N}(\vu_{z_\star},(r_{z_\star}\vR_\star)\inv)$
\item Draw latent coordinates $\vx_\star \sim {\cal N}(\vmu_\star,\vR_\star\inv)$
\item For each observed dimension $d = 1, 2, \ldots, D$, \\ draw observed coordinates
$y^\star_d \sim {\cal N}(\vk_\star\tra \vK\inv \vY_{:,d}, k(\vx_\star,\vx_\star) - \vk_\star\tra \vK\inv \vk_\star)$
\end{enumerate}
%
If $z_\star$ is assigned to a new component in step 1, the prior Gaussian-Wishart distribution \eqref{eq:normal-wishar-prior} is used for sampling in steps 2 and 3.
The density drawn from in step 5 is the predictive distribution of a \gp{}, where
%
$\vk_\star=[ k(\vx_\star, \vx_1), k(\vx_\star, \vx_2), \cdots, k(\vx_\star, \vx_N)]\tra$ and $\vY_{:,d}$ represents the $d$th column of $\vY$.
Each step of this sampling procedure draws from the exact conditional distribution, so the Monte Carlo estimate of the conditional predictive density $p(\vy_\star | \vX, \vY)$ will converge to the true marginal distribution as the number of samples increases.
Since the observations $\vy_\star$ are conditionally normally distributed, each one adds a smooth contribution to the empirical Monte Carlo estimate of the posterior density, as opposed to a collection of point masses.
\subsubsection{Source code}
A reference implementation of the above algorithms is available at\\ \url{http://www.github.com/duvenaud/warped-mixtures}.
\outbpdocument{
\bibliographystyle{plainnat}
\bibliography{references.bib}
}
================================================
FILE: code/additive_extrapolation.m
================================================
function additive_extrapolation(savefigs)
% Generate some plots showing additive GP regression on synthetic datasets
% with 1st-order interactions and censored data.
%
% David Duvenaud
% March 2014
% ===============
addpath(genpath( 'utils' ));
addpath(genpath( 'gpml' ));
if nargin < 1; savefigs = false; end
% fixing the seed of the random generators
seed=6;
randn('state',seed);
rand('state',seed);
% Rendering setup
n_1d = 100; % Fineness of grid.
% Regression problem setup.
n = 100; % number of observations
s = 2; % number of relevant variables
noise_std = .02; % standard deviation of noise
X = rand(n,2) * 4 - 2;
noiseless_Y = truefunc(X);
Y = noiseless_Y + randn(n,1) * noise_std; % add some noise with known standard deviation
xlims = [-2.3, 6];
ylims = [-2.3, 2];
% Censor data.
censor_threshold = -1.5;
trainset = or(X(:,1) < censor_threshold, X(:,2) < censor_threshold);
X = X(trainset,:);
y = Y(trainset);
noiseless_Y = noiseless_Y(trainset);
[N,D] = size(X);
% Set up model.
likfunc = 'likGauss'; sn = 0.1; hyp.lik = log(sn);
inference = @infExact;
meanfunc = {'meanConst'}; hyp.mean = 0;
% Train additive model
R = 2;
covfunc = { 'covADD',{1:R,'covSEiso'} }; % Construct an additive kernel
hyp.cov = [ log(ones(1,2*D)), log(ones(1,R))]; % Set hyperparameters.
hyp_add = minimize(hyp, @gp, -20, inference, meanfunc, covfunc, likfunc, X, y);
% Train ARD model
covfunc = { 'covSEard' };
hyp.cov = [ log(ones(1,D)), log(1)]; % Set hyperparameters.
hyp = minimize(hyp, @gp, -20, inference, meanfunc, covfunc, likfunc, X, y);
% generate a grid on which to render to predictive surface.
range = linspace(xlims(1), xlims(2), n_1d);
[a,b] = meshgrid(range, range);
xstar = [ a(:), b(:) ];
% Make ARD predictions.
predictions_ard = gp(hyp, inference, meanfunc, covfunc, likfunc, X, y, xstar);
% Make additive predictions.
covfunc = { 'covADD',{1:R,'covSEiso'} }; % Construct an additive kernel.
predictions_add = gp(hyp_add, inference, meanfunc, covfunc, likfunc, X, y, xstar);
figure(1); clf;
nice_plot_surface(a,b,X, predictions_ard,length( range), xlims, ylims);
hold on; show_xs(X, repmat(ylims(1), size(X,1), 1), noiseless_Y - 0.1);
if savefigs
nice_figure_save('1st_order_censored_ard')
end
figure(2); clf;
nice_plot_surface(a,b,X, predictions_add, length( range), xlims, ylims);
hold on; show_xs(X, repmat(ylims(1), size(X,1), 1), noiseless_Y - 0.1);
if savefigs
nice_figure_save('1st_order_censored_add')
end
figure(3); clf;
nice_plot_surface(a,b,X, truefunc(xstar), length( range), xlims, ylims);
hold on;
if savefigs
nice_figure_save('1st_order_censored_truth')
end
end
function nice_plot_surface(a,b,X,Y,l, xlims, ylims)
surf(a,b,reshape(Y, l, l), 'EdgeColor','none','LineStyle','none','FaceLighting','phong');
xlim(xlims); ylim(xlims); zlim(ylims);
set(gcf, 'color', 'white');
set(get(gca,'XLabel'),'Rotation',0,'Interpreter','tex', 'Fontsize', 12, 'FontName','Times New Roman');
set(get(gca,'YLabel'),'Rotation',0,'Interpreter','tex', 'Fontsize', 12, 'FontName','Times New Roman');
set(get(gca,'ZLabel'),'Rotation',0,'Interpreter','tex', 'Fontsize', 12, 'FontName','Times New Roman');
set( gca, 'xTickLabel', '' );
set( gca, 'yTickLabel', '' );
set( gca, 'zTickLabel', '' );
xlabel('x_1');
ylabel('x_2');
zlabel('f(x) ');
view([-30,42]);
tightfig
set_fig_units_cm(6,5);
end
function show_xs(X, lowy, uppery)
line_width = 2;
markersize = 14;
plot3(X(:,1), X(:,2), lowy, 'b.', 'Linewidth', line_width, ...
'Markersize', markersize); % show the data
for i = 1:size(X,1);
line([X(i,1), X(i,1)], [X(i,2), X(i,2)], [lowy(i), uppery(i)], ...
'LineStyle', '--', 'Color', [0.5 0.5 0.5]);
end
end
function y = truefunc(x)
y = sin(x(:,1) .* 2 - 1.1) + sin(x(:,2) .* 2 - 1.1);
end
function nice_figure_save(filename)
myaa('mypublish', ['../figures/additive/', filename]);
%savepng(gcf, ['../figures/additive/', filename]);
end
================================================
FILE: code/data/quebec/process.m
================================================
%% Load data
data = csvread('quebec-births-fixed.csv', 1, 0);
X_full = data(:,1:4);
y_full = data(:,5);
%% Plot
plot(X_full(:,1), y_full, 'o');
% Set random seed.
randn('state',0);
rand('state',0);
%% Subsample
for n = [1000,2000,5000]
rp = randperm(length(y_full));
idx = rp(1:n);
X = X_full(idx,:);
y = y_full(idx,:);
save(['quebec-', int2str(n), '.mat'], 'X', 'y');
end
X = X_full;
y = y_full;
save('quebec-all.mat', 'X', 'y');
================================================
FILE: code/data/quebec/quebec-births-fixed.csv
================================================
Standard time,Weekend,Floating holiday,Easter,Births
1977.0000000000,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1977.0027379847,1.0000000000,0.0000000000,0.0000000000,241.0000000000
1977.0054759694,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1977.0082139540,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.0109519387,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.0136899234,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.0164279081,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1977.0191658928,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1977.0219038774,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1977.0246418621,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1977.0273798468,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1977.0301178315,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1977.0328558162,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.0355938008,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1977.0383317855,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1977.0410697702,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1977.0438077549,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1977.0465457396,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1977.0492837242,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1977.0520217089,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1977.0547596936,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.0574976783,1.0000000000,0.0000000000,0.0000000000,243.0000000000
1977.0602356630,1.0000000000,0.0000000000,0.0000000000,187.0000000000
1977.0629736477,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1977.0657116323,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1977.0684496170,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1977.0711876017,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1977.0739255864,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1977.0766635711,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1977.0794015557,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.0821395404,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1977.0848775251,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1977.0876155098,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1977.0903534945,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1977.0930914791,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1977.0958294638,1.0000000000,0.0000000000,0.0000000000,229.0000000000
1977.0985674485,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1977.1013054332,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.1040434179,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1977.1067814025,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1977.1095193872,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1977.1122573719,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1977.1149953566,1.0000000000,0.0000000000,0.0000000000,242.0000000000
1977.1177333413,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1977.1204713259,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1977.1232093106,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.1259472953,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1977.1286852800,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1977.1314232647,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.1341612493,1.0000000000,0.0000000000,0.0000000000,235.0000000000
1977.1368992340,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1977.1396372187,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1977.1423752034,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1977.1451131881,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1977.1478511727,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.1505891574,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1977.1533271421,1.0000000000,0.0000000000,0.0000000000,239.0000000000
1977.1560651268,1.0000000000,0.0000000000,0.0000000000,236.0000000000
1977.1588031115,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1977.1615410961,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1977.1642790808,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1977.1670170655,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.1697550502,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1977.1724930349,1.0000000000,0.0000000000,0.0000000000,253.0000000000
1977.1752310195,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1977.1779690042,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.1807069889,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1977.1834449736,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1977.1861829583,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.1889209430,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1977.1916589276,1.0000000000,0.0000000000,0.0000000000,251.0000000000
1977.1943969123,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1977.1971348970,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.1998728817,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1977.2026108664,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1977.2053488510,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1977.2080868357,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.2108248204,1.0000000000,0.0000000000,0.0000000000,266.0000000000
1977.2135628051,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1977.2163007898,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.2190387744,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1977.2217767591,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1977.2245147438,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1977.2272527285,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1977.2299907132,1.0000000000,0.0000000000,0.0000000000,258.0000000000
1977.2327286978,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1977.2354666825,0.0000000000,0.0000000000,0.0000000000,237.0000000000
1977.2382046672,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1977.2409426519,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1977.2436806366,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1977.2464186212,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1977.2491566059,1.0000000000,0.0000000000,0.0000000000,258.0000000000
1977.2518945906,1.0000000000,0.0000000000,0.0000000000,229.0000000000
1977.2546325753,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1977.2573705600,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1977.2601085446,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1977.2628465293,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1977.2655845140,0.0000000000,0.0000000000,1.0000000000,270.0000000000
1977.2683224987,1.0000000000,0.0000000000,1.0000000000,249.0000000000
1977.2710604834,1.0000000000,0.0000000000,1.0000000000,194.0000000000
1977.2737984680,0.0000000000,0.0000000000,1.0000000000,253.0000000000
1977.2765364527,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1977.2792744374,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1977.2820124221,0.0000000000,0.0000000000,0.0000000000,343.0000000000
1977.2847504068,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1977.2874883914,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1977.2902263761,1.0000000000,0.0000000000,0.0000000000,235.0000000000
1977.2929643608,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1977.2957023455,0.0000000000,0.0000000000,0.0000000000,347.0000000000
1977.2984403302,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1977.3011783149,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.3039162995,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1977.3066542842,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1977.3093922689,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1977.3121302536,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1977.3148682383,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1977.3176062229,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1977.3203442076,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1977.3230821923,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1977.3258201770,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1977.3285581617,1.0000000000,0.0000000000,0.0000000000,261.0000000000
1977.3312961463,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1977.3340341310,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1977.3367721157,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1977.3395101004,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1977.3422480851,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1977.3449860697,1.0000000000,0.0000000000,0.0000000000,245.0000000000
1977.3477240544,1.0000000000,0.0000000000,0.0000000000,188.0000000000
1977.3504620391,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1977.3532000238,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1977.3559380085,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1977.3586759931,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1977.3614139778,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1977.3641519625,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1977.3668899472,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1977.3696279319,0.0000000000,0.0000000000,0.0000000000,320.0000000000
1977.3723659165,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.3751039012,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1977.3778418859,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.3805798706,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1977.3833178553,1.0000000000,0.0000000000,0.0000000000,255.0000000000
1977.3860558399,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1977.3887938246,0.0000000000,1.0000000000,0.0000000000,264.0000000000
1977.3915318093,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.3942697940,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1977.3970077787,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1977.3997457633,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1977.4024837480,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1977.4052217327,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1977.4079597174,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.4106977021,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1977.4134356867,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1977.4161736714,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1977.4189116561,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1977.4216496408,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1977.4243876255,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.4271256102,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.4298635948,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.4326015795,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.4353395642,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1977.4380775489,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.4408155336,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1977.4435535182,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1977.4462915029,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.4490294876,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1977.4517674723,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1977.4545054570,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1977.4572434416,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1977.4599814263,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1977.4627194110,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1977.4654573957,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1977.4681953804,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1977.4709333650,0.0000000000,0.0000000000,0.0000000000,346.0000000000
1977.4736713497,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1977.4764093344,0.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.4791473191,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1977.4818853038,1.0000000000,0.0000000000,0.0000000000,200.0000000000
1977.4846232884,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1977.4873612731,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.4900992578,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1977.4928372425,0.0000000000,0.0000000000,0.0000000000,327.0000000000
1977.4955752272,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1977.4983132118,1.0000000000,0.0000000000,0.0000000000,239.0000000000
1977.5010511965,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1977.5037891812,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1977.5065271659,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.5092651506,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1977.5120031352,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1977.5147411199,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1977.5174791046,1.0000000000,0.0000000000,0.0000000000,237.0000000000
1977.5202170893,1.0000000000,0.0000000000,0.0000000000,239.0000000000
1977.5229550740,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1977.5256930586,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1977.5284310433,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.5311690280,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1977.5339070127,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1977.5366449974,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1977.5393829821,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.5421209667,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.5448589514,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1977.5475969361,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1977.5503349208,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1977.5530729055,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1977.5558108901,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.5585488748,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1977.5612868595,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1977.5640248442,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1977.5667628289,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1977.5695008135,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1977.5722387982,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1977.5749767829,1.0000000000,0.0000000000,0.0000000000,270.0000000000
1977.5777147676,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.5804527523,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1977.5831907369,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.5859287216,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1977.5886667063,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1977.5914046910,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.5941426757,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1977.5968806603,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1977.5996186450,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.6023566297,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1977.6050946144,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1977.6078325991,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.6105705837,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1977.6133085684,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1977.6160465531,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1977.6187845378,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1977.6215225225,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1977.6242605071,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1977.6269984918,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.6297364765,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1977.6324744612,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1977.6352124459,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1977.6379504305,0.0000000000,0.0000000000,0.0000000000,226.0000000000
1977.6406884152,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1977.6434263999,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1977.6461643846,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1977.6489023693,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.6516403539,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1977.6543783386,1.0000000000,0.0000000000,0.0000000000,242.0000000000
1977.6571163233,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1977.6598543080,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1977.6625922927,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.6653302774,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1977.6680682620,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1977.6708062467,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1977.6735442314,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.6762822161,0.0000000000,1.0000000000,0.0000000000,213.0000000000
1977.6790202008,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.6817581854,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1977.6844961701,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1977.6872341548,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1977.6899721395,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1977.6927101242,1.0000000000,0.0000000000,0.0000000000,241.0000000000
1977.6954481088,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1977.6981860935,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1977.7009240782,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1977.7036620629,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.7064000476,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.7091380322,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1977.7118760169,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1977.7146140016,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.7173519863,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1977.7200899710,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1977.7228279556,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.7255659403,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1977.7283039250,1.0000000000,0.0000000000,0.0000000000,246.0000000000
1977.7310419097,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1977.7337798944,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1977.7365178790,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1977.7392558637,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1977.7419938484,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1977.7447318331,0.0000000000,0.0000000000,0.0000000000,336.0000000000
1977.7474698178,1.0000000000,0.0000000000,0.0000000000,252.0000000000
1977.7502078024,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1977.7529457871,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1977.7556837718,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1977.7584217565,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1977.7611597412,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1977.7638977258,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1977.7666357105,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1977.7693736952,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1977.7721116799,0.0000000000,1.0000000000,0.0000000000,274.0000000000
1977.7748496646,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1977.7775876493,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1977.7803256339,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.7830636186,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.7858016033,1.0000000000,0.0000000000,0.0000000000,263.0000000000
1977.7885395880,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.7912775727,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1977.7940155573,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1977.7967535420,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.7994915267,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1977.8022295114,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1977.8049674961,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1977.8077054807,1.0000000000,0.0000000000,0.0000000000,196.0000000000
1977.8104434654,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1977.8131814501,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1977.8159194348,0.0000000000,0.0000000000,0.0000000000,332.0000000000
1977.8186574195,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1977.8213954041,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.8241333888,1.0000000000,0.0000000000,0.0000000000,246.0000000000
1977.8268713735,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1977.8296093582,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1977.8323473429,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1977.8350853275,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1977.8378233122,0.0000000000,0.0000000000,0.0000000000,239.0000000000
1977.8405612969,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1977.8432992816,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1977.8460372663,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1977.8487752509,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1977.8515132356,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1977.8542512203,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1977.8569892050,0.0000000000,0.0000000000,0.0000000000,241.0000000000
1977.8597271897,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1977.8624651743,1.0000000000,0.0000000000,0.0000000000,243.0000000000
1977.8652031590,1.0000000000,0.0000000000,0.0000000000,192.0000000000
1977.8679411437,0.0000000000,0.0000000000,0.0000000000,224.0000000000
1977.8706791284,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1977.8734171131,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1977.8761550977,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1977.8788930824,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1977.8816310671,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1977.8843690518,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.8871070365,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1977.8898450211,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1977.8925830058,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1977.8953209905,0.0000000000,0.0000000000,0.0000000000,236.0000000000
1977.8980589752,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1977.9007969599,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1977.9035349446,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1977.9062729292,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1977.9090109139,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1977.9117488986,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1977.9144868833,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1977.9172248680,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1977.9199628526,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.9227008373,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.9254388220,0.0000000000,0.0000000000,0.0000000000,227.0000000000
1977.9281768067,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1977.9309147914,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1977.9336527760,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1977.9363907607,0.0000000000,0.0000000000,0.0000000000,219.0000000000
1977.9391287454,1.0000000000,0.0000000000,0.0000000000,200.0000000000
1977.9418667301,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1977.9446047148,0.0000000000,0.0000000000,0.0000000000,231.0000000000
1977.9473426994,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1977.9500806841,0.0000000000,0.0000000000,0.0000000000,243.0000000000
1977.9528186688,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1977.9555566535,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1977.9582946382,1.0000000000,0.0000000000,0.0000000000,195.0000000000
1977.9610326228,1.0000000000,0.0000000000,0.0000000000,184.0000000000
1977.9637706075,0.0000000000,0.0000000000,0.0000000000,236.0000000000
1977.9665085922,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.9692465769,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1977.9719845616,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1977.9747225462,0.0000000000,0.0000000000,0.0000000000,207.0000000000
1977.9774605309,1.0000000000,0.0000000000,0.0000000000,175.0000000000
1977.9801985156,1.0000000000,0.0000000000,0.0000000000,142.0000000000
1977.9829365003,0.0000000000,0.0000000000,0.0000000000,181.0000000000
1977.9856744850,0.0000000000,0.0000000000,0.0000000000,223.0000000000
1977.9884124696,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1977.9911504543,0.0000000000,0.0000000000,0.0000000000,241.0000000000
1977.9938884390,0.0000000000,0.0000000000,0.0000000000,234.0000000000
1977.9966264237,1.0000000000,0.0000000000,0.0000000000,173.0000000000
1977.9993644084,1.0000000000,0.0000000000,0.0000000000,188.0000000000
1978.0021023930,0.0000000000,0.0000000000,0.0000000000,221.0000000000
1978.0048403777,0.0000000000,0.0000000000,0.0000000000,216.0000000000
1978.0075783624,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1978.0103163471,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1978.0130543318,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1978.0157923164,1.0000000000,0.0000000000,0.0000000000,191.0000000000
1978.0185303011,1.0000000000,0.0000000000,0.0000000000,191.0000000000
1978.0212682858,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.0240062705,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1978.0267442552,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1978.0294822399,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.0322202245,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1978.0349582092,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1978.0376961939,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1978.0404341786,0.0000000000,0.0000000000,0.0000000000,227.0000000000
1978.0431721633,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1978.0459101479,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1978.0486481326,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1978.0513861173,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1978.0541241020,1.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.0568620867,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1978.0596000713,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1978.0623380560,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1978.0650760407,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1978.0678140254,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1978.0705520101,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1978.0732899947,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1978.0760279794,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1978.0787659641,0.0000000000,0.0000000000,0.0000000000,243.0000000000
1978.0815039488,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.0842419335,0.0000000000,0.0000000000,0.0000000000,244.0000000000
1978.0869799181,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1978.0897179028,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1978.0924558875,1.0000000000,0.0000000000,0.0000000000,235.0000000000
1978.0951938722,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1978.0979318569,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1978.1006698415,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1978.1034078262,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.1061458109,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.1088837956,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1978.1116217803,1.0000000000,0.0000000000,0.0000000000,259.0000000000
1978.1143597649,1.0000000000,0.0000000000,0.0000000000,184.0000000000
1978.1170977496,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1978.1198357343,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1978.1225737190,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.1253117037,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.1280496883,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1978.1307876730,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1978.1335256577,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1978.1362636424,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1978.1390016271,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1978.1417396118,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.1444775964,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1978.1472155811,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1978.1499535658,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1978.1526915505,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1978.1554295352,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1978.1581675198,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1978.1609055045,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.1636434892,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1978.1663814739,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1978.1691194586,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1978.1718574432,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1978.1745954279,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1978.1773334126,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1978.1800713973,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1978.1828093820,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.1855473666,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.1882853513,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1978.1910233360,1.0000000000,0.0000000000,0.0000000000,201.0000000000
1978.1937613207,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1978.1964993054,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1978.1992372900,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1978.2019752747,0.0000000000,0.0000000000,0.0000000000,315.0000000000
1978.2047132594,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1978.2074512441,1.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.2101892288,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1978.2129272134,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1978.2156651981,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1978.2184031828,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1978.2211411675,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1978.2238791522,0.0000000000,0.0000000000,1.0000000000,265.0000000000
1978.2266171368,1.0000000000,0.0000000000,1.0000000000,201.0000000000
1978.2293551215,1.0000000000,0.0000000000,1.0000000000,207.0000000000
1978.2320931062,0.0000000000,0.0000000000,1.0000000000,265.0000000000
1978.2348310909,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1978.2375690756,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.2403070602,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1978.2430450449,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1978.2457830296,1.0000000000,0.0000000000,0.0000000000,268.0000000000
1978.2485210143,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1978.2512589990,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1978.2539969836,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1978.2567349683,0.0000000000,0.0000000000,0.0000000000,335.0000000000
1978.2594729530,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1978.2622109377,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1978.2649489224,1.0000000000,0.0000000000,0.0000000000,257.0000000000
1978.2676869071,1.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.2704248917,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1978.2731628764,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1978.2759008611,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.2786388458,0.0000000000,0.0000000000,0.0000000000,323.0000000000
1978.2813768305,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1978.2841148151,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1978.2868527998,1.0000000000,0.0000000000,0.0000000000,189.0000000000
1978.2895907845,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.2923287692,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1978.2950667539,0.0000000000,0.0000000000,0.0000000000,315.0000000000
1978.2978047385,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1978.3005427232,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1978.3032807079,1.0000000000,0.0000000000,0.0000000000,262.0000000000
1978.3060186926,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1978.3087566773,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.3114946619,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1978.3142326466,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1978.3169706313,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1978.3197086160,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1978.3224466007,1.0000000000,0.0000000000,0.0000000000,243.0000000000
1978.3251845853,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1978.3279225700,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1978.3306605547,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1978.3333985394,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1978.3361365241,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.3388745087,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1978.3416124934,1.0000000000,0.0000000000,0.0000000000,239.0000000000
1978.3443504781,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1978.3470884628,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1978.3498264475,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1978.3525644321,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1978.3553024168,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1978.3580404015,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1978.3607783862,1.0000000000,0.0000000000,0.0000000000,245.0000000000
1978.3635163709,1.0000000000,0.0000000000,0.0000000000,260.0000000000
1978.3662543555,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1978.3689923402,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.3717303249,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1978.3744683096,0.0000000000,0.0000000000,0.0000000000,344.0000000000
1978.3772062943,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1978.3799442790,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1978.3826822636,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1978.3854202483,0.0000000000,1.0000000000,0.0000000000,250.0000000000
1978.3881582330,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.3908962177,0.0000000000,0.0000000000,0.0000000000,346.0000000000
1978.3936342024,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1978.3963721870,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1978.3991101717,1.0000000000,0.0000000000,0.0000000000,241.0000000000
1978.4018481564,1.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.4045861411,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1978.4073241258,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1978.4100621104,0.0000000000,0.0000000000,0.0000000000,338.0000000000
1978.4128000951,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1978.4155380798,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1978.4182760645,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1978.4210140492,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1978.4237520338,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1978.4264900185,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.4292280032,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.4319659879,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1978.4347039726,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1978.4374419572,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1978.4401799419,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1978.4429179266,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1978.4456559113,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1978.4483938960,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1978.4511318806,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1978.4538698653,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1978.4566078500,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1978.4593458347,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1978.4620838194,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1978.4648218040,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1978.4675597887,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1978.4702977734,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.4730357581,0.0000000000,0.0000000000,0.0000000000,230.0000000000
1978.4757737428,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1978.4785117274,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1978.4812497121,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.4839876968,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.4867256815,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1978.4894636662,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1978.4922016508,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.4949396355,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1978.4976776202,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1978.5004156049,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.5031535896,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1978.5058915743,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1978.5086295589,0.0000000000,0.0000000000,0.0000000000,315.0000000000
1978.5113675436,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1978.5141055283,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1978.5168435130,1.0000000000,0.0000000000,0.0000000000,249.0000000000
1978.5195814977,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.5223194823,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1978.5250574670,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1978.5277954517,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1978.5305334364,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1978.5332714211,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1978.5360094057,1.0000000000,0.0000000000,0.0000000000,200.0000000000
1978.5387473904,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1978.5414853751,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1978.5442233598,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1978.5469613445,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.5496993291,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1978.5524373138,1.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.5551752985,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1978.5579132832,0.0000000000,0.0000000000,0.0000000000,234.0000000000
1978.5606512679,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.5633892525,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1978.5661272372,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.5688652219,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.5716032066,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1978.5743411913,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1978.5770791759,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1978.5798171606,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1978.5825551453,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1978.5852931300,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1978.5880311147,0.0000000000,0.0000000000,0.0000000000,239.0000000000
1978.5907690993,1.0000000000,0.0000000000,0.0000000000,236.0000000000
1978.5935070840,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1978.5962450687,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.5989830534,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1978.6017210381,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1978.6044590227,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1978.6071970074,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1978.6099349921,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1978.6126729768,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1978.6154109615,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.6181489462,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.6208869308,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1978.6236249155,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1978.6263629002,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1978.6291008849,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1978.6318388696,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1978.6345768542,0.0000000000,0.0000000000,0.0000000000,246.0000000000
1978.6373148389,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.6400528236,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1978.6427908083,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.6455287930,0.0000000000,0.0000000000,0.0000000000,245.0000000000
1978.6482667776,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1978.6510047623,1.0000000000,0.0000000000,0.0000000000,178.0000000000
1978.6537427470,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.6564807317,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.6592187164,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1978.6619567010,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.6646946857,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1978.6674326704,1.0000000000,0.0000000000,0.0000000000,196.0000000000
1978.6701706551,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1978.6729086398,0.0000000000,1.0000000000,0.0000000000,200.0000000000
1978.6756466244,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1978.6783846091,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1978.6811225938,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1978.6838605785,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1978.6865985632,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1978.6893365478,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1978.6920745325,0.0000000000,0.0000000000,0.0000000000,246.0000000000
1978.6948125172,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1978.6975505019,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1978.7002884866,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1978.7030264712,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1978.7057644559,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1978.7085024406,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1978.7112404253,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.7139784100,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1978.7167163946,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.7194543793,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1978.7221923640,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1978.7249303487,1.0000000000,0.0000000000,0.0000000000,238.0000000000
1978.7276683334,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1978.7304063180,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.7331443027,0.0000000000,0.0000000000,0.0000000000,350.0000000000
1978.7358822874,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1978.7386202721,0.0000000000,0.0000000000,0.0000000000,342.0000000000
1978.7413582568,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1978.7440962415,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1978.7468342261,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1978.7495722108,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1978.7523101955,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1978.7550481802,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.7577861649,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.7605241495,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1978.7632621342,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1978.7660001189,1.0000000000,0.0000000000,0.0000000000,175.0000000000
1978.7687381036,0.0000000000,1.0000000000,0.0000000000,224.0000000000
1978.7714760883,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1978.7742140729,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1978.7769520576,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1978.7796900423,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1978.7824280270,1.0000000000,0.0000000000,0.0000000000,187.0000000000
1978.7851660117,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1978.7879039963,0.0000000000,0.0000000000,0.0000000000,231.0000000000
1978.7906419810,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1978.7933799657,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.7961179504,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1978.7988559351,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1978.8015939197,1.0000000000,0.0000000000,0.0000000000,236.0000000000
1978.8043319044,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1978.8070698891,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1978.8098078738,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1978.8125458585,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1978.8152838431,0.0000000000,0.0000000000,0.0000000000,220.0000000000
1978.8180218278,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1978.8207598125,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1978.8234977972,1.0000000000,0.0000000000,0.0000000000,201.0000000000
1978.8262357819,0.0000000000,0.0000000000,0.0000000000,212.0000000000
1978.8289737665,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.8317117512,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1978.8344497359,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1978.8371877206,0.0000000000,0.0000000000,0.0000000000,237.0000000000
1978.8399257053,1.0000000000,0.0000000000,0.0000000000,186.0000000000
1978.8426636899,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1978.8454016746,0.0000000000,0.0000000000,0.0000000000,221.0000000000
1978.8481396593,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.8508776440,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1978.8536156287,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1978.8563536134,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1978.8590915980,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1978.8618295827,1.0000000000,0.0000000000,0.0000000000,189.0000000000
1978.8645675674,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1978.8673055521,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1978.8700435368,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1978.8727815214,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.8755195061,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1978.8782574908,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1978.8809954755,1.0000000000,0.0000000000,0.0000000000,190.0000000000
1978.8837334602,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1978.8864714448,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1978.8892094295,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.8919474142,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1978.8946853989,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.8974233836,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1978.9001613682,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1978.9028993529,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.9056373376,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1978.9083753223,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1978.9111133070,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.9138512916,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1978.9165892763,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1978.9193272610,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1978.9220652457,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.9248032304,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1978.9275412150,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1978.9302791997,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.9330171844,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1978.9357551691,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1978.9384931538,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1978.9412311384,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1978.9439691231,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1978.9467071078,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1978.9494450925,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1978.9521830772,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1978.9549210618,1.0000000000,0.0000000000,0.0000000000,238.0000000000
1978.9576590465,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1978.9603970312,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1978.9631350159,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.9658730006,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1978.9686109852,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1978.9713489699,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1978.9740869546,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1978.9768249393,1.0000000000,0.0000000000,0.0000000000,190.0000000000
1978.9795629240,0.0000000000,0.0000000000,0.0000000000,179.0000000000
1978.9823009087,0.0000000000,0.0000000000,0.0000000000,202.0000000000
1978.9850388933,0.0000000000,0.0000000000,0.0000000000,240.0000000000
1978.9877768780,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1978.9905148627,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1978.9932528474,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1978.9959908321,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1978.9987288167,0.0000000000,0.0000000000,0.0000000000,208.0000000000
1979.0014668014,0.0000000000,0.0000000000,0.0000000000,219.0000000000
1979.0042047861,0.0000000000,0.0000000000,0.0000000000,229.0000000000
1979.0069427708,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1979.0096807555,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1979.0124187401,1.0000000000,0.0000000000,0.0000000000,192.0000000000
1979.0151567248,1.0000000000,0.0000000000,0.0000000000,165.0000000000
1979.0178947095,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1979.0206326942,0.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.0233706789,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.0261086635,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1979.0288466482,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1979.0315846329,1.0000000000,0.0000000000,0.0000000000,185.0000000000
1979.0343226176,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1979.0370606023,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1979.0397985869,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1979.0425365716,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1979.0452745563,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1979.0480125410,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1979.0507505257,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1979.0534885103,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.0562264950,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1979.0589644797,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1979.0617024644,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.0644404491,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.0671784337,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1979.0699164184,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1979.0726544031,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.0753923878,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1979.0781303725,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1979.0808683571,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.0836063418,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1979.0863443265,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.0890823112,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1979.0918202959,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1979.0945582806,0.0000000000,0.0000000000,0.0000000000,236.0000000000
1979.0972962652,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1979.1000342499,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.1027722346,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1979.1055102193,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1979.1082482040,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1979.1109861886,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1979.1137241733,0.0000000000,0.0000000000,0.0000000000,221.0000000000
1979.1164621580,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1979.1192001427,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.1219381274,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.1246761120,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1979.1274140967,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1979.1301520814,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.1328900661,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1979.1356280508,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1979.1383660354,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.1411040201,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1979.1438420048,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.1465799895,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1979.1493179742,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1979.1520559588,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1979.1547939435,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1979.1575319282,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1979.1602699129,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1979.1630078976,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.1657458822,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1979.1684838669,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1979.1712218516,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.1739598363,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.1766978210,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1979.1794358056,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1979.1821737903,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.1849117750,1.0000000000,0.0000000000,0.0000000000,258.0000000000
1979.1876497597,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1979.1903877444,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.1931257290,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1979.1958637137,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.1986016984,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1979.2013396831,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1979.2040776678,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1979.2068156524,1.0000000000,0.0000000000,0.0000000000,237.0000000000
1979.2095536371,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1979.2122916218,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.2150296065,0.0000000000,0.0000000000,0.0000000000,330.0000000000
1979.2177675912,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.2205055759,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.2232435605,1.0000000000,0.0000000000,0.0000000000,255.0000000000
1979.2259815452,1.0000000000,0.0000000000,0.0000000000,236.0000000000
1979.2287195299,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1979.2314575146,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1979.2341954993,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1979.2369334839,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1979.2396714686,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1979.2424094533,1.0000000000,0.0000000000,0.0000000000,250.0000000000
1979.2451474380,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1979.2478854227,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1979.2506234073,0.0000000000,0.0000000000,0.0000000000,327.0000000000
1979.2533613920,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1979.2560993767,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1979.2588373614,0.0000000000,0.0000000000,0.0000000000,347.0000000000
1979.2615753461,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1979.2643133307,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1979.2670513154,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1979.2697893001,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.2725272848,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1979.2752652695,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1979.2780032541,0.0000000000,0.0000000000,1.0000000000,292.0000000000
1979.2807412388,1.0000000000,0.0000000000,1.0000000000,285.0000000000
1979.2834792235,1.0000000000,0.0000000000,1.0000000000,237.0000000000
1979.2862172082,0.0000000000,0.0000000000,1.0000000000,255.0000000000
1979.2889551929,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1979.2916931775,0.0000000000,0.0000000000,0.0000000000,321.0000000000
1979.2944311622,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.2971691469,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1979.2999071316,1.0000000000,0.0000000000,0.0000000000,263.0000000000
1979.3026451163,1.0000000000,0.0000000000,0.0000000000,245.0000000000
1979.3053831009,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.3081210856,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1979.3108590703,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1979.3135970550,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.3163350397,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1979.3190730243,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1979.3218110090,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1979.3245489937,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1979.3272869784,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1979.3300249631,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1979.3327629477,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1979.3355009324,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1979.3382389171,1.0000000000,0.0000000000,0.0000000000,242.0000000000
1979.3409769018,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1979.3437148865,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.3464528712,0.0000000000,0.0000000000,0.0000000000,343.0000000000
1979.3491908558,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1979.3519288405,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1979.3546668252,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1979.3574048099,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.3601427946,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1979.3628807792,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1979.3656187639,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1979.3683567486,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1979.3710947333,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1979.3738327180,0.0000000000,0.0000000000,0.0000000000,340.0000000000
1979.3765707026,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1979.3793086873,1.0000000000,0.0000000000,0.0000000000,273.0000000000
1979.3820466720,0.0000000000,1.0000000000,0.0000000000,255.0000000000
1979.3847846567,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1979.3875226414,0.0000000000,0.0000000000,0.0000000000,274.0000000000
1979.3902606260,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.3929986107,0.0000000000,0.0000000000,0.0000000000,338.0000000000
1979.3957365954,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1979.3984745801,1.0000000000,0.0000000000,0.0000000000,187.0000000000
1979.4012125648,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1979.4039505494,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1979.4066885341,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1979.4094265188,0.0000000000,0.0000000000,0.0000000000,332.0000000000
1979.4121645035,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1979.4149024882,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1979.4176404728,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1979.4203784575,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1979.4231164422,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1979.4258544269,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.4285924116,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1979.4313303962,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.4340683809,1.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.4368063656,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1979.4395443503,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1979.4422823350,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.4450203196,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1979.4477583043,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.4504962890,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1979.4532342737,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1979.4559722584,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1979.4587102431,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1979.4614482277,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1979.4641862124,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.4669241971,0.0000000000,0.0000000000,0.0000000000,345.0000000000
1979.4696621818,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1979.4724001665,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1979.4751381511,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1979.4778761358,0.0000000000,0.0000000000,0.0000000000,241.0000000000
1979.4806141205,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1979.4833521052,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1979.4860900899,0.0000000000,0.0000000000,0.0000000000,339.0000000000
1979.4888280745,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1979.4915660592,1.0000000000,0.0000000000,0.0000000000,252.0000000000
1979.4943040439,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1979.4970420286,0.0000000000,0.0000000000,0.0000000000,235.0000000000
1979.4997800133,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1979.5025179979,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.5052559826,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1979.5079939673,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1979.5107319520,1.0000000000,0.0000000000,0.0000000000,269.0000000000
1979.5134699367,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1979.5162079213,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1979.5189459060,0.0000000000,0.0000000000,0.0000000000,327.0000000000
1979.5216838907,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1979.5244218754,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1979.5271598601,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1979.5298978447,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1979.5326358294,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1979.5353738141,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.5381117988,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1979.5408497835,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1979.5435877681,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.5463257528,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1979.5490637375,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1979.5518017222,1.0000000000,0.0000000000,0.0000000000,178.0000000000
1979.5545397069,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1979.5572776915,0.0000000000,0.0000000000,0.0000000000,335.0000000000
1979.5600156762,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1979.5627536609,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1979.5654916456,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1979.5682296303,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1979.5709676149,1.0000000000,0.0000000000,0.0000000000,195.0000000000
1979.5737055996,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.5764435843,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.5791815690,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1979.5819195537,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1979.5846575384,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.5873955230,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.5901335077,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1979.5928714924,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1979.5956094771,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1979.5983474618,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1979.6010854464,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1979.6038234311,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.6065614158,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1979.6092994005,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1979.6120373852,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.6147753698,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.6175133545,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.6202513392,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1979.6229893239,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1979.6257273086,1.0000000000,0.0000000000,0.0000000000,249.0000000000
1979.6284652932,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1979.6312032779,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.6339412626,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1979.6366792473,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1979.6394172320,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.6421552166,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1979.6448932013,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1979.6476311860,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1979.6503691707,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1979.6531071554,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1979.6558451400,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1979.6585831247,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1979.6613211094,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.6640590941,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1979.6667970788,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1979.6695350634,0.0000000000,1.0000000000,0.0000000000,226.0000000000
1979.6722730481,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1979.6750110328,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1979.6777490175,0.0000000000,0.0000000000,0.0000000000,329.0000000000
1979.6804870022,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1979.6832249868,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1979.6859629715,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.6887009562,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1979.6914389409,0.0000000000,0.0000000000,0.0000000000,329.0000000000
1979.6941769256,0.0000000000,0.0000000000,0.0000000000,320.0000000000
1979.6969149103,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.6996528949,0.0000000000,0.0000000000,0.0000000000,327.0000000000
1979.7023908796,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1979.7051288643,1.0000000000,0.0000000000,0.0000000000,251.0000000000
1979.7078668490,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1979.7106048337,0.0000000000,0.0000000000,0.0000000000,365.0000000000
1979.7133428183,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.7160808030,0.0000000000,0.0000000000,0.0000000000,332.0000000000
1979.7188187877,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.7215567724,1.0000000000,0.0000000000,0.0000000000,277.0000000000
1979.7242947571,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1979.7270327417,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1979.7297707264,0.0000000000,0.0000000000,0.0000000000,347.0000000000
1979.7325087111,0.0000000000,0.0000000000,0.0000000000,338.0000000000
1979.7352466958,0.0000000000,0.0000000000,0.0000000000,358.0000000000
1979.7379846805,0.0000000000,0.0000000000,0.0000000000,344.0000000000
1979.7407226651,1.0000000000,0.0000000000,0.0000000000,243.0000000000
1979.7434606498,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1979.7461986345,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1979.7489366192,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1979.7516746039,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1979.7544125885,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1979.7571505732,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1979.7598885579,1.0000000000,0.0000000000,0.0000000000,246.0000000000
1979.7626265426,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1979.7653645273,0.0000000000,1.0000000000,0.0000000000,229.0000000000
1979.7681025119,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.7708404966,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1979.7735784813,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1979.7763164660,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1979.7790544507,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.7817924353,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1979.7845304200,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.7872684047,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1979.7900063894,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1979.7927443741,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.7954823587,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.7982203434,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1979.8009583281,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1979.8036963128,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1979.8064342975,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1979.8091722821,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.8119102668,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1979.8146482515,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.8173862362,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.8201242209,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1979.8228622056,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1979.8256001902,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1979.8283381749,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.8310761596,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1979.8338141443,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1979.8365521290,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1979.8392901136,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1979.8420280983,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1979.8447660830,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1979.8475040677,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1979.8502420524,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1979.8529800370,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.8557180217,1.0000000000,0.0000000000,0.0000000000,254.0000000000
1979.8584560064,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1979.8611939911,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1979.8639319758,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1979.8666699604,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.8694079451,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1979.8721459298,0.0000000000,0.0000000000,0.0000000000,245.0000000000
1979.8748839145,1.0000000000,0.0000000000,0.0000000000,201.0000000000
1979.8776218992,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.8803598838,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1979.8830978685,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1979.8858358532,0.0000000000,0.0000000000,0.0000000000,248.0000000000
1979.8885738379,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1979.8913118226,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1979.8940498072,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1979.8967877919,1.0000000000,0.0000000000,0.0000000000,189.0000000000
1979.8995257766,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1979.9022637613,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.9050017460,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1979.9077397306,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1979.9104777153,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1979.9132157000,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1979.9159536847,1.0000000000,0.0000000000,0.0000000000,176.0000000000
1979.9186916694,0.0000000000,0.0000000000,0.0000000000,227.0000000000
1979.9214296540,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1979.9241676387,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1979.9269056234,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.9296436081,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1979.9323815928,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1979.9351195775,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1979.9378575621,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1979.9405955468,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1979.9433335315,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1979.9460715162,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1979.9488095009,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1979.9515474855,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1979.9542854702,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1979.9570234549,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1979.9597614396,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1979.9624994243,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1979.9652374089,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1979.9679753936,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1979.9707133783,1.0000000000,0.0000000000,0.0000000000,186.0000000000
1979.9734513630,1.0000000000,0.0000000000,0.0000000000,189.0000000000
1979.9761893477,0.0000000000,0.0000000000,0.0000000000,206.0000000000
1979.9789273323,0.0000000000,0.0000000000,0.0000000000,192.0000000000
1979.9816653170,0.0000000000,0.0000000000,0.0000000000,221.0000000000
1979.9844033017,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1979.9871412864,0.0000000000,0.0000000000,0.0000000000,327.0000000000
1979.9898792711,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1979.9926172557,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1979.9953552404,0.0000000000,0.0000000000,0.0000000000,230.0000000000
1979.9980932251,0.0000000000,0.0000000000,0.0000000000,208.0000000000
1980.0008312098,0.0000000000,0.0000000000,0.0000000000,229.0000000000
1980.0035691945,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1980.0063071791,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.0090451638,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1980.0117831485,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1980.0145211332,0.0000000000,0.0000000000,0.0000000000,225.0000000000
1980.0172591179,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.0199971025,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.0227350872,0.0000000000,0.0000000000,0.0000000000,241.0000000000
1980.0254730719,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1980.0282110566,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1980.0309490413,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1980.0336870259,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1980.0364250106,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1980.0391629953,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1980.0419009800,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1980.0446389647,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1980.0473769493,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1980.0501149340,1.0000000000,0.0000000000,0.0000000000,201.0000000000
1980.0528529187,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1980.0555909034,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1980.0583288881,0.0000000000,0.0000000000,0.0000000000,244.0000000000
1980.0610668728,0.0000000000,0.0000000000,0.0000000000,243.0000000000
1980.0638048574,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1980.0665428421,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1980.0692808268,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1980.0720188115,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1980.0747567962,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1980.0774947808,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1980.0802327655,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1980.0829707502,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1980.0857087349,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1980.0884467196,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1980.0911847042,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1980.0939226889,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1980.0966606736,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1980.0993986583,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1980.1021366430,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1980.1048746276,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1980.1076126123,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1980.1103505970,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1980.1130885817,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1980.1158265664,0.0000000000,0.0000000000,0.0000000000,246.0000000000
1980.1185645510,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1980.1213025357,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.1240405204,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1980.1267785051,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1980.1295164898,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1980.1322544744,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1980.1349924591,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.1377304438,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1980.1404684285,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1980.1432064132,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1980.1459443978,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1980.1486823825,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1980.1514203672,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1980.1541583519,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1980.1568963366,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1980.1596343212,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1980.1623723059,1.0000000000,0.0000000000,0.0000000000,250.0000000000
1980.1651102906,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1980.1678482753,0.0000000000,0.0000000000,0.0000000000,236.0000000000
1980.1705862600,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.1733242447,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.1760622293,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1980.1788002140,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1980.1815381987,1.0000000000,0.0000000000,0.0000000000,243.0000000000
1980.1842761834,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1980.1870141681,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.1897521527,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1980.1924901374,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1980.1952281221,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.1979661068,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1980.2007040915,1.0000000000,0.0000000000,0.0000000000,235.0000000000
1980.2034420761,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1980.2061800608,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1980.2089180455,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1980.2116560302,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1980.2143940149,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1980.2171319995,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.2198699842,1.0000000000,0.0000000000,0.0000000000,261.0000000000
1980.2226079689,1.0000000000,0.0000000000,0.0000000000,257.0000000000
1980.2253459536,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1980.2280839383,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1980.2308219229,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1980.2335599076,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1980.2362978923,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.2390358770,1.0000000000,0.0000000000,0.0000000000,242.0000000000
1980.2417738617,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1980.2445118463,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1980.2472498310,0.0000000000,0.0000000000,0.0000000000,323.0000000000
1980.2499878157,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1980.2527258004,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1980.2554637851,0.0000000000,0.0000000000,1.0000000000,251.0000000000
1980.2582017697,1.0000000000,0.0000000000,1.0000000000,225.0000000000
1980.2609397544,1.0000000000,0.0000000000,1.0000000000,217.0000000000
1980.2636777391,0.0000000000,0.0000000000,1.0000000000,248.0000000000
1980.2664157238,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1980.2691537085,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1980.2718916931,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1980.2746296778,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1980.2773676625,1.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.2801056472,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1980.2828436319,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.2855816165,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.2883196012,0.0000000000,0.0000000000,0.0000000000,315.0000000000
1980.2910575859,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.2937955706,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1980.2965335553,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1980.2992715400,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1980.3020095246,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1980.3047475093,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1980.3074854940,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1980.3102234787,0.0000000000,0.0000000000,0.0000000000,329.0000000000
1980.3129614634,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.3156994480,1.0000000000,0.0000000000,0.0000000000,245.0000000000
1980.3184374327,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1980.3211754174,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1980.3239134021,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1980.3266513868,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1980.3293893714,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1980.3321273561,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1980.3348653408,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1980.3376033255,1.0000000000,0.0000000000,0.0000000000,237.0000000000
1980.3403413102,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1980.3430792948,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1980.3458172795,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1980.3485552642,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1980.3512932489,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1980.3540312336,1.0000000000,0.0000000000,0.0000000000,245.0000000000
1980.3567692182,1.0000000000,0.0000000000,0.0000000000,241.0000000000
1980.3595072029,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1980.3622451876,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1980.3649831723,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1980.3677211570,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1980.3704591416,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1980.3731971263,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1980.3759351110,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1980.3786730957,0.0000000000,1.0000000000,0.0000000000,267.0000000000
1980.3814110804,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1980.3841490650,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1980.3868870497,0.0000000000,0.0000000000,0.0000000000,326.0000000000
1980.3896250344,0.0000000000,0.0000000000,0.0000000000,339.0000000000
1980.3923630191,1.0000000000,0.0000000000,0.0000000000,250.0000000000
1980.3951010038,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1980.3978389884,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1980.4005769731,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.4033149578,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1980.4060529425,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1980.4087909272,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1980.4115289119,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1980.4142668965,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1980.4170048812,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1980.4197428659,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1980.4224808506,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1980.4252188353,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1980.4279568199,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1980.4306948046,1.0000000000,0.0000000000,0.0000000000,226.0000000000
1980.4334327893,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1980.4361707740,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1980.4389087587,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1980.4416467433,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1980.4443847280,0.0000000000,0.0000000000,0.0000000000,320.0000000000
1980.4471227127,0.0000000000,0.0000000000,0.0000000000,246.0000000000
1980.4498606974,1.0000000000,0.0000000000,0.0000000000,227.0000000000
1980.4525986821,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1980.4553366667,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.4580746514,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.4608126361,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.4635506208,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1980.4662886055,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1980.4690265901,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1980.4717645748,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1980.4745025595,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1980.4772405442,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1980.4799785289,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1980.4827165135,0.0000000000,0.0000000000,0.0000000000,346.0000000000
1980.4854544982,0.0000000000,0.0000000000,0.0000000000,339.0000000000
1980.4881924829,1.0000000000,0.0000000000,0.0000000000,247.0000000000
1980.4909304676,1.0000000000,0.0000000000,0.0000000000,200.0000000000
1980.4936684523,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1980.4964064369,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1980.4991444216,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1980.5018824063,0.0000000000,0.0000000000,0.0000000000,329.0000000000
1980.5046203910,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1980.5073583757,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1980.5100963603,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1980.5128343450,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1980.5155723297,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1980.5183103144,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1980.5210482991,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1980.5237862837,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1980.5265242684,1.0000000000,0.0000000000,0.0000000000,248.0000000000
1980.5292622531,1.0000000000,0.0000000000,0.0000000000,194.0000000000
1980.5320002378,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1980.5347382225,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1980.5374762072,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1980.5402141918,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1980.5429521765,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1980.5456901612,1.0000000000,0.0000000000,0.0000000000,240.0000000000
1980.5484281459,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1980.5511661306,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.5539041152,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1980.5566420999,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1980.5593800846,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1980.5621180693,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1980.5648560540,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1980.5675940386,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1980.5703320233,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1980.5730700080,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1980.5758079927,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1980.5785459774,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1980.5812839620,0.0000000000,0.0000000000,0.0000000000,323.0000000000
1980.5840219467,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1980.5867599314,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1980.5894979161,0.0000000000,0.0000000000,0.0000000000,239.0000000000
1980.5922359008,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1980.5949738854,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1980.5977118701,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1980.6004498548,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1980.6031878395,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1980.6059258242,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1980.6086638088,0.0000000000,0.0000000000,0.0000000000,250.0000000000
1980.6114017935,0.0000000000,0.0000000000,0.0000000000,328.0000000000
1980.6141397782,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1980.6168777629,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1980.6196157476,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1980.6223537322,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1980.6250917169,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1980.6278297016,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1980.6305676863,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1980.6333056710,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1980.6360436556,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1980.6387816403,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1980.6415196250,1.0000000000,0.0000000000,0.0000000000,265.0000000000
1980.6442576097,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1980.6469955944,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1980.6497335791,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1980.6524715637,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1980.6552095484,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1980.6579475331,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.6606855178,1.0000000000,0.0000000000,0.0000000000,247.0000000000
1980.6634235025,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1980.6661614871,0.0000000000,1.0000000000,0.0000000000,224.0000000000
1980.6688994718,0.0000000000,0.0000000000,0.0000000000,241.0000000000
1980.6716374565,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1980.6743754412,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1980.6771134259,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1980.6798514105,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1980.6825893952,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1980.6853273799,0.0000000000,0.0000000000,0.0000000000,248.0000000000
1980.6880653646,0.0000000000,0.0000000000,0.0000000000,307.0000000000
1980.6908033493,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1980.6935413339,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1980.6962793186,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1980.6990173033,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1980.7017552880,1.0000000000,0.0000000000,0.0000000000,260.0000000000
1980.7044932727,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1980.7072312573,0.0000000000,0.0000000000,0.0000000000,323.0000000000
1980.7099692420,0.0000000000,0.0000000000,0.0000000000,350.0000000000
1980.7127072267,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1980.7154452114,0.0000000000,0.0000000000,0.0000000000,341.0000000000
1980.7181831961,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1980.7209211807,1.0000000000,0.0000000000,0.0000000000,246.0000000000
1980.7236591654,0.0000000000,0.0000000000,0.0000000000,320.0000000000
1980.7263971501,0.0000000000,0.0000000000,0.0000000000,339.0000000000
1980.7291351348,0.0000000000,0.0000000000,0.0000000000,336.0000000000
1980.7318731195,0.0000000000,0.0000000000,0.0000000000,334.0000000000
1980.7346111041,0.0000000000,0.0000000000,0.0000000000,333.0000000000
1980.7373490888,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1980.7400870735,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1980.7428250582,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1980.7455630429,0.0000000000,0.0000000000,0.0000000000,366.0000000000
1980.7483010275,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1980.7510390122,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1980.7537769969,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.7565149816,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1980.7592529663,1.0000000000,0.0000000000,0.0000000000,195.0000000000
1980.7619909509,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1980.7647289356,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1980.7674669203,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1980.7702049050,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1980.7729428897,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1980.7756808744,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1980.7784188590,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1980.7811568437,0.0000000000,1.0000000000,0.0000000000,237.0000000000
1980.7838948284,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1980.7866328131,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1980.7893707978,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1980.7921087824,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1980.7948467671,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1980.7975847518,1.0000000000,0.0000000000,0.0000000000,219.0000000000
1980.8003227365,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1980.8030607212,0.0000000000,0.0000000000,0.0000000000,332.0000000000
1980.8057987058,0.0000000000,0.0000000000,0.0000000000,259.0000000000
1980.8085366905,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1980.8112746752,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1980.8140126599,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1980.8167506446,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1980.8194886292,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1980.8222266139,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1980.8249645986,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1980.8277025833,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1980.8304405680,0.0000000000,0.0000000000,0.0000000000,231.0000000000
1980.8331785526,1.0000000000,0.0000000000,0.0000000000,231.0000000000
1980.8359165373,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1980.8386545220,0.0000000000,0.0000000000,0.0000000000,216.0000000000
1980.8413925067,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1980.8441304914,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.8468684760,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1980.8496064607,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1980.8523444454,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1980.8550824301,1.0000000000,0.0000000000,0.0000000000,179.0000000000
1980.8578204148,0.0000000000,0.0000000000,0.0000000000,233.0000000000
1980.8605583994,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.8632963841,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1980.8660343688,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1980.8687723535,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1980.8715103382,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1980.8742483228,1.0000000000,0.0000000000,0.0000000000,176.0000000000
1980.8769863075,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.8797242922,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1980.8824622769,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1980.8852002616,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.8879382463,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.8906762309,1.0000000000,0.0000000000,0.0000000000,172.0000000000
1980.8934142156,1.0000000000,0.0000000000,0.0000000000,188.0000000000
1980.8961522003,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1980.8988901850,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1980.9016281697,0.0000000000,0.0000000000,0.0000000000,316.0000000000
1980.9043661543,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1980.9071041390,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1980.9098421237,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1980.9125801084,1.0000000000,0.0000000000,0.0000000000,183.0000000000
1980.9153180931,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1980.9180560777,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1980.9207940624,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1980.9235320471,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1980.9262700318,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1980.9290080165,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1980.9317460011,1.0000000000,0.0000000000,0.0000000000,173.0000000000
1980.9344839858,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1980.9372219705,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1980.9399599552,0.0000000000,0.0000000000,0.0000000000,248.0000000000
1980.9426979399,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.9454359245,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1980.9481739092,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1980.9509118939,1.0000000000,0.0000000000,0.0000000000,188.0000000000
1980.9536498786,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1980.9563878633,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1980.9591258479,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1980.9618638326,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1980.9646018173,0.0000000000,0.0000000000,0.0000000000,310.0000000000
1980.9673398020,1.0000000000,0.0000000000,0.0000000000,205.0000000000
1980.9700777867,1.0000000000,0.0000000000,0.0000000000,190.0000000000
1980.9728157713,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1980.9755537560,0.0000000000,0.0000000000,0.0000000000,263.0000000000
1980.9782917407,0.0000000000,0.0000000000,0.0000000000,232.0000000000
1980.9810297254,0.0000000000,0.0000000000,0.0000000000,168.0000000000
1980.9837677101,0.0000000000,0.0000000000,0.0000000000,216.0000000000
1980.9865056947,1.0000000000,0.0000000000,0.0000000000,207.0000000000
1980.9892436794,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1980.9919816641,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1980.9947196488,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1980.9974576335,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1981.0001956181,0.0000000000,0.0000000000,0.0000000000,211.0000000000
1981.0029336028,0.0000000000,0.0000000000,0.0000000000,254.0000000000
1981.0056715875,1.0000000000,0.0000000000,0.0000000000,196.0000000000
1981.0084095722,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1981.0111475569,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1981.0138855416,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1981.0166235262,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.0193615109,0.0000000000,0.0000000000,0.0000000000,242.0000000000
1981.0220994956,0.0000000000,0.0000000000,0.0000000000,294.0000000000
1981.0248374803,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.0275754650,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1981.0303134496,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1981.0330514343,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1981.0357894190,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1981.0385274037,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1981.0412653884,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1981.0440033730,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1981.0467413577,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1981.0494793424,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1981.0522173271,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1981.0549553118,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1981.0576932964,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1981.0604312811,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1981.0631692658,1.0000000000,0.0000000000,0.0000000000,176.0000000000
1981.0659072505,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1981.0686452352,0.0000000000,0.0000000000,0.0000000000,247.0000000000
1981.0713832198,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1981.0741212045,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1981.0768591892,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.0795971739,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1981.0823351586,1.0000000000,0.0000000000,0.0000000000,211.0000000000
1981.0850731432,1.0000000000,0.0000000000,0.0000000000,183.0000000000
1981.0878111279,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.0905491126,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1981.0932870973,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.0960250820,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1981.0987630666,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.1015010513,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.1042390360,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.1069770207,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1981.1097150054,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1981.1124529900,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1981.1151909747,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1981.1179289594,0.0000000000,0.0000000000,0.0000000000,253.0000000000
1981.1206669441,1.0000000000,0.0000000000,0.0000000000,185.0000000000
1981.1234049288,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.1261429134,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1981.1288808981,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1981.1316188828,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1981.1343568675,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.1370948522,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.1398328369,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1981.1425708215,1.0000000000,0.0000000000,0.0000000000,234.0000000000
1981.1453088062,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.1480467909,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.1507847756,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1981.1535227603,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.1562607449,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1981.1589987296,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1981.1617367143,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1981.1644746990,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.1672126837,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1981.1699506683,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1981.1726886530,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1981.1754266377,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1981.1781646224,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.1809026071,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.1836405917,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1981.1863785764,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1981.1891165611,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.1918545458,0.0000000000,0.0000000000,0.0000000000,312.0000000000
1981.1945925305,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1981.1973305151,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1981.2000684998,1.0000000000,0.0000000000,0.0000000000,186.0000000000
1981.2028064845,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1981.2055444692,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1981.2082824539,0.0000000000,0.0000000000,0.0000000000,336.0000000000
1981.2110204385,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1981.2137584232,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1981.2164964079,1.0000000000,0.0000000000,0.0000000000,223.0000000000
1981.2192343926,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1981.2219723773,0.0000000000,0.0000000000,0.0000000000,325.0000000000
1981.2247103619,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.2274483466,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.2301863313,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1981.2329243160,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1981.2356623007,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1981.2384002853,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1981.2411382700,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.2438762547,0.0000000000,0.0000000000,0.0000000000,340.0000000000
1981.2466142394,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1981.2493522241,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.2520902088,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.2548281934,1.0000000000,0.0000000000,0.0000000000,244.0000000000
1981.2575661781,1.0000000000,0.0000000000,0.0000000000,224.0000000000
1981.2603041628,0.0000000000,0.0000000000,0.0000000000,317.0000000000
1981.2630421475,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1981.2657801322,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1981.2685181168,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1981.2712561015,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1981.2739940862,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1981.2767320709,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1981.2794700556,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1981.2822080402,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1981.2849460249,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1981.2876840096,0.0000000000,0.0000000000,0.0000000000,341.0000000000
1981.2904219943,0.0000000000,0.0000000000,1.0000000000,290.0000000000
1981.2931599790,1.0000000000,0.0000000000,1.0000000000,222.0000000000
1981.2958979636,1.0000000000,0.0000000000,1.0000000000,207.0000000000
1981.2986359483,0.0000000000,0.0000000000,1.0000000000,265.0000000000
1981.3013739330,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1981.3041119177,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.3068499024,0.0000000000,0.0000000000,0.0000000000,330.0000000000
1981.3095878870,0.0000000000,0.0000000000,0.0000000000,344.0000000000
1981.3123258717,1.0000000000,0.0000000000,0.0000000000,254.0000000000
1981.3150638564,1.0000000000,0.0000000000,0.0000000000,230.0000000000
1981.3178018411,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1981.3205398258,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.3232778104,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1981.3260157951,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1981.3287537798,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1981.3314917645,1.0000000000,0.0000000000,0.0000000000,210.0000000000
1981.3342297492,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.3369677338,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1981.3397057185,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1981.3424437032,0.0000000000,0.0000000000,0.0000000000,311.0000000000
1981.3451816879,0.0000000000,0.0000000000,0.0000000000,289.0000000000
1981.3479196726,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1981.3506576572,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1981.3533956419,1.0000000000,0.0000000000,0.0000000000,228.0000000000
1981.3561336266,0.0000000000,0.0000000000,0.0000000000,273.0000000000
1981.3588716113,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1981.3616095960,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1981.3643475806,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1981.3670855653,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1981.3698235500,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1981.3725615347,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.3752995194,0.0000000000,1.0000000000,0.0000000000,255.0000000000
1981.3780375041,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.3807754887,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.3835134734,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.3862514581,0.0000000000,0.0000000000,0.0000000000,305.0000000000
1981.3889894428,1.0000000000,0.0000000000,0.0000000000,250.0000000000
1981.3917274275,1.0000000000,0.0000000000,0.0000000000,199.0000000000
1981.3944654121,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.3972033968,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.3999413815,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1981.4026793662,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1981.4054173509,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1981.4081553355,1.0000000000,0.0000000000,0.0000000000,222.0000000000
1981.4108933202,1.0000000000,0.0000000000,0.0000000000,201.0000000000
1981.4136313049,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1981.4163692896,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1981.4191072743,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1981.4218452589,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1981.4245832436,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1981.4273212283,1.0000000000,0.0000000000,0.0000000000,264.0000000000
1981.4300592130,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.4327971977,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.4355351823,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.4382731670,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1981.4410111517,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1981.4437491364,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.4464871211,1.0000000000,0.0000000000,0.0000000000,235.0000000000
1981.4492251057,1.0000000000,0.0000000000,0.0000000000,204.0000000000
1981.4519630904,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1981.4547010751,0.0000000000,0.0000000000,0.0000000000,309.0000000000
1981.4574390598,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1981.4601770445,0.0000000000,0.0000000000,0.0000000000,334.0000000000
1981.4629150291,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1981.4656530138,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1981.4683909985,1.0000000000,0.0000000000,0.0000000000,221.0000000000
1981.4711289832,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1981.4738669679,0.0000000000,0.0000000000,0.0000000000,324.0000000000
1981.4766049525,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1981.4793429372,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1981.4820809219,0.0000000000,0.0000000000,0.0000000000,286.0000000000
1981.4848189066,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.4875568913,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1981.4902948760,0.0000000000,0.0000000000,0.0000000000,299.0000000000
1981.4930328606,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.4957708453,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1981.4985088300,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.5012468147,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1981.5039847994,1.0000000000,0.0000000000,0.0000000000,215.0000000000
1981.5067227840,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1981.5094607687,0.0000000000,0.0000000000,0.0000000000,313.0000000000
1981.5121987534,0.0000000000,0.0000000000,0.0000000000,308.0000000000
1981.5149367381,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.5176747228,0.0000000000,0.0000000000,0.0000000000,260.0000000000
1981.5204127074,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1981.5231506921,1.0000000000,0.0000000000,0.0000000000,197.0000000000
1981.5258886768,1.0000000000,0.0000000000,0.0000000000,186.0000000000
1981.5286266615,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1981.5313646462,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1981.5341026308,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1981.5368406155,0.0000000000,0.0000000000,0.0000000000,322.0000000000
1981.5395786002,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1981.5423165849,1.0000000000,0.0000000000,0.0000000000,217.0000000000
1981.5450545696,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1981.5477925542,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1981.5505305389,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.5532685236,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1981.5560065083,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1981.5587444930,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1981.5614824776,1.0000000000,0.0000000000,0.0000000000,185.0000000000
1981.5642204623,1.0000000000,0.0000000000,0.0000000000,192.0000000000
1981.5669584470,0.0000000000,0.0000000000,0.0000000000,285.0000000000
1981.5696964317,0.0000000000,0.0000000000,0.0000000000,302.0000000000
1981.5724344164,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1981.5751724010,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.5779103857,0.0000000000,0.0000000000,0.0000000000,252.0000000000
1981.5806483704,1.0000000000,0.0000000000,0.0000000000,236.0000000000
1981.5833863551,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.5861243398,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.5888623244,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.5916003091,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1981.5943382938,0.0000000000,0.0000000000,0.0000000000,292.0000000000
1981.5970762785,0.0000000000,0.0000000000,0.0000000000,293.0000000000
1981.5998142632,1.0000000000,0.0000000000,0.0000000000,208.0000000000
1981.6025522478,1.0000000000,0.0000000000,0.0000000000,192.0000000000
1981.6052902325,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1981.6080282172,0.0000000000,0.0000000000,0.0000000000,287.0000000000
1981.6107662019,0.0000000000,0.0000000000,0.0000000000,295.0000000000
1981.6135041866,0.0000000000,0.0000000000,0.0000000000,283.0000000000
1981.6162421713,0.0000000000,0.0000000000,0.0000000000,291.0000000000
1981.6189801559,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.6217181406,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.6244561253,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1981.6271941100,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1981.6299320947,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1981.6326700793,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1981.6354080640,0.0000000000,0.0000000000,0.0000000000,314.0000000000
1981.6381460487,1.0000000000,0.0000000000,0.0000000000,213.0000000000
1981.6408840334,1.0000000000,0.0000000000,0.0000000000,209.0000000000
1981.6436220181,0.0000000000,0.0000000000,0.0000000000,272.0000000000
1981.6463600027,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1981.6490979874,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.6518359721,0.0000000000,0.0000000000,0.0000000000,271.0000000000
1981.6545739568,0.0000000000,0.0000000000,0.0000000000,275.0000000000
1981.6573119415,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1981.6600499261,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.6627879108,0.0000000000,0.0000000000,0.0000000000,257.0000000000
1981.6655258955,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1981.6682638802,0.0000000000,0.0000000000,0.0000000000,290.0000000000
1981.6710018649,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.6737398495,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.6764778342,1.0000000000,0.0000000000,0.0000000000,232.0000000000
1981.6792158189,1.0000000000,0.0000000000,0.0000000000,225.0000000000
1981.6819538036,0.0000000000,1.0000000000,0.0000000000,211.0000000000
1981.6846917883,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.6874297729,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.6901677576,0.0000000000,0.0000000000,0.0000000000,304.0000000000
1981.6929057423,0.0000000000,0.0000000000,0.0000000000,256.0000000000
1981.6956437270,1.0000000000,0.0000000000,0.0000000000,212.0000000000
1981.6983817117,1.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.7011196963,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1981.7038576810,0.0000000000,0.0000000000,0.0000000000,319.0000000000
1981.7065956657,0.0000000000,0.0000000000,0.0000000000,306.0000000000
1981.7093336504,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.7120716351,0.0000000000,0.0000000000,0.0000000000,318.0000000000
1981.7148096197,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1981.7175476044,1.0000000000,0.0000000000,0.0000000000,218.0000000000
1981.7202855891,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1981.7230235738,0.0000000000,0.0000000000,0.0000000000,301.0000000000
1981.7257615585,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.7284995432,0.0000000000,0.0000000000,0.0000000000,297.0000000000
1981.7312375278,0.0000000000,0.0000000000,0.0000000000,298.0000000000
1981.7339755125,1.0000000000,0.0000000000,0.0000000000,239.0000000000
1981.7367134972,1.0000000000,0.0000000000,0.0000000000,200.0000000000
1981.7394514819,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.7421894666,0.0000000000,0.0000000000,0.0000000000,267.0000000000
1981.7449274512,0.0000000000,0.0000000000,0.0000000000,288.0000000000
1981.7476654359,0.0000000000,0.0000000000,0.0000000000,281.0000000000
1981.7504034206,0.0000000000,0.0000000000,0.0000000000,296.0000000000
1981.7531414053,1.0000000000,0.0000000000,0.0000000000,216.0000000000
1981.7558793900,1.0000000000,0.0000000000,0.0000000000,202.0000000000
1981.7586173746,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1981.7613553593,0.0000000000,0.0000000000,0.0000000000,300.0000000000
1981.7640933440,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.7668313287,0.0000000000,0.0000000000,0.0000000000,303.0000000000
1981.7695693134,0.0000000000,0.0000000000,0.0000000000,282.0000000000
1981.7723072980,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1981.7750452827,1.0000000000,0.0000000000,0.0000000000,171.0000000000
1981.7777832674,0.0000000000,1.0000000000,0.0000000000,231.0000000000
1981.7805212521,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1981.7832592368,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1981.7859972214,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1981.7887352061,0.0000000000,0.0000000000,0.0000000000,264.0000000000
1981.7914731908,1.0000000000,0.0000000000,0.0000000000,193.0000000000
1981.7942111755,1.0000000000,0.0000000000,0.0000000000,188.0000000000
1981.7969491602,0.0000000000,0.0000000000,0.0000000000,277.0000000000
1981.7996871448,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1981.8024251295,0.0000000000,0.0000000000,0.0000000000,261.0000000000
1981.8051631142,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1981.8079010989,0.0000000000,0.0000000000,0.0000000000,265.0000000000
1981.8106390836,1.0000000000,0.0000000000,0.0000000000,214.0000000000
1981.8133770682,1.0000000000,0.0000000000,0.0000000000,179.0000000000
1981.8161150529,0.0000000000,0.0000000000,0.0000000000,248.0000000000
1981.8188530376,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.8215910223,0.0000000000,0.0000000000,0.0000000000,234.0000000000
1981.8243290070,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1981.8270669916,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1981.8298049763,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1981.8325429610,1.0000000000,0.0000000000,0.0000000000,197.0000000000
1981.8352809457,0.0000000000,0.0000000000,0.0000000000,237.0000000000
1981.8380189304,0.0000000000,0.0000000000,0.0000000000,279.0000000000
1981.8407569150,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1981.8434948997,0.0000000000,0.0000000000,0.0000000000,276.0000000000
1981.8462328844,0.0000000000,0.0000000000,0.0000000000,280.0000000000
1981.8489708691,1.0000000000,0.0000000000,0.0000000000,241.0000000000
1981.8517088538,1.0000000000,0.0000000000,0.0000000000,195.0000000000
1981.8544468385,0.0000000000,0.0000000000,0.0000000000,248.0000000000
1981.8571848231,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1981.8599228078,0.0000000000,0.0000000000,0.0000000000,228.0000000000
1981.8626607925,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1981.8653987772,0.0000000000,0.0000000000,0.0000000000,243.0000000000
1981.8681367619,1.0000000000,0.0000000000,0.0000000000,220.0000000000
1981.8708747465,1.0000000000,0.0000000000,0.0000000000,166.0000000000
1981.8736127312,0.0000000000,0.0000000000,0.0000000000,249.0000000000
1981.8763507159,0.0000000000,0.0000000000,0.0000000000,268.0000000000
1981.8790887006,0.0000000000,0.0000000000,0.0000000000,236.0000000000
1981.8818266853,0.0000000000,0.0000000000,0.0000000000,262.0000000000
1981.8845646699,0.0000000000,0.0000000000,0.0000000000,284.0000000000
1981.8873026546,1.0000000000,0.0000000000,0.0000000000,206.0000000000
1981.8900406393,1.0000000000,0.0000000000,0.0000000000,185.0000000000
1981.8927786240,0.0000000000,0.0000000000,0.0000000000,234.0000000000
1981.8955166087,0.0000000000,0.0000000000,0.0000000000,251.0000000000
1981.8982545933,0.0000000000,0.0000000000,0.0000000000,266.0000000000
1981.9009925780,0.0000000000,0.0000000000,0.0000000000,258.0000000000
1981.9037305627,0.0000000000,0.0000000000,0.0000000000,270.0000000000
1981.9064685474,1.0000000000,0.0000000000,0.0000000000,203.0000000000
1981.9092065321,1.0000000000,0.0000000000,0.0000000000,198.0000000000
1981.9119445167,0.0000000000,0.0000000000,0.0000000000,245.0000000000
1981.9146825014,0.0000000000,0.0000000000,0.0000000000,255.0000000000
1981.9174204861,0.0000000000,0.0000000000,0.0000000000,278.0000000000
1981.9201584708,0.0000000000,0.0000000000,0.0000000000,233.0000000000
1981.9228964555,0.0000000000,0.0000000000,0.0000000000,269.0000000000
1981.9256344401,1.0000000000,0.0000000000,0.0000000000,190.0000000000
1981.9283724248,1.0000000000,0.0000000000,0.0000000000,205.000000
gitextract_7shfk872/ ├── .gitignore ├── additive.tex ├── appendix.tex ├── code/ │ ├── additive_extrapolation.m │ ├── data/ │ │ ├── quebec/ │ │ │ ├── process.m │ │ │ ├── quebec-1000.mat │ │ │ ├── quebec-2000.mat │ │ │ ├── quebec-5000.mat │ │ │ ├── quebec-all.mat │ │ │ ├── quebec-births-fixed.csv │ │ │ └── quebec-births-standard.csv │ │ └── r_concrete_500.mat │ ├── decomp_birth.m │ ├── decomp_concrete.m │ ├── draw_2d_additive_kernels.m │ ├── draw_3d_additive_kernels.m │ ├── draw_manifolds.m │ ├── gpml/ │ │ ├── .octaverc │ │ ├── Copyright │ │ ├── README │ │ ├── barrier_fct.m │ │ ├── cov/ │ │ │ ├── covADD.m │ │ │ ├── covConst.m │ │ │ ├── covFITC.m │ │ │ ├── covLIN.m │ │ │ ├── covLINard.m │ │ │ ├── covLINone.m │ │ │ ├── covMask.m │ │ │ ├── covMaterniso.m │ │ │ ├── covNNone.m │ │ │ ├── covNoise.m │ │ │ ├── covPPiso.m │ │ │ ├── covPeriodic.m │ │ │ ├── covPoly.m │ │ │ ├── covProd.m │ │ │ ├── covRQard.m │ │ │ ├── covRQiso.m │ │ │ ├── covSEard.m │ │ │ ├── covSEiso.m │ │ │ ├── covSEisoU.m │ │ │ ├── covSEiso_length.m │ │ │ ├── covSEiso_var.m │ │ │ ├── covScale.m │ │ │ └── covSum.m │ │ ├── covFunctions.m │ │ ├── doc/ │ │ │ ├── README │ │ │ ├── changelog │ │ │ ├── demoClassification.m │ │ │ ├── demoRegression.m │ │ │ ├── gpml_randn.m │ │ │ ├── index.html │ │ │ ├── style.css │ │ │ ├── usageClassification.m │ │ │ ├── usageCov.m │ │ │ ├── usageMean.m │ │ │ └── usageRegression.m │ │ ├── gp.m │ │ ├── inf/ │ │ │ ├── infEP.m │ │ │ ├── infExact.m │ │ │ ├── infFITC.m │ │ │ ├── infLOO.m │ │ │ ├── infLaplace.m │ │ │ └── infVB.m │ │ ├── infMethods.m │ │ ├── lik/ │ │ │ ├── likErf.m │ │ │ ├── likGauss.m │ │ │ ├── likLaplace.m │ │ │ ├── likLogistic.m │ │ │ ├── likSech2.m │ │ │ └── likT.m │ │ ├── likFunctions.m │ │ ├── mean/ │ │ │ ├── meanConst.m │ │ │ ├── meanLinear.m │ │ │ ├── meanMask.m │ │ │ ├── meanOne.m │ │ │ ├── meanPow.m │ │ │ ├── meanProd.m │ │ │ ├── meanScale.m │ │ │ ├── meanSum.m │ │ │ └── meanZero.m │ │ ├── meanFunctions.m │ │ ├── penalized_gp.m │ │ ├── startup.m │ │ └── util/ │ │ ├── binaryEPGP.m │ │ ├── binaryGP.m │ │ ├── binaryLaplaceGP.m │ │ ├── brentmin.m │ │ ├── elsympol.m │ │ ├── elsympol2.m │ │ ├── gpr.m │ │ ├── lbfgsb/ │ │ │ ├── Makefile │ │ │ ├── README.html │ │ │ ├── array.h │ │ │ ├── arrayofmatrices.cpp │ │ │ ├── arrayofmatrices.h │ │ │ ├── lbfgsb.cpp │ │ │ ├── license.txt │ │ │ ├── matlabexception.cpp │ │ │ ├── matlabexception.h │ │ │ ├── matlabmatrix.cpp │ │ │ ├── matlabmatrix.h │ │ │ ├── matlabprogram.cpp │ │ │ ├── matlabprogram.h │ │ │ ├── matlabscalar.cpp │ │ │ ├── matlabscalar.h │ │ │ ├── matlabstring.cpp │ │ │ ├── matlabstring.h │ │ │ ├── program.cpp │ │ │ ├── program.h │ │ │ └── solver.f │ │ ├── lbfgsb.m │ │ ├── make.m │ │ ├── minimize.m │ │ ├── minimize_bfgs.m │ │ ├── minimize_lbfgsb.m │ │ ├── minimize_lbfgsb_gradfun.m │ │ ├── minimize_lbfgsb_objfun.m │ │ ├── minimize_may18.m │ │ ├── minimize_may21.m │ │ ├── minimize_pre_oct26.m │ │ ├── old_minimize.m │ │ ├── rewrap.m │ │ ├── solve_chol.c │ │ ├── solve_chol.m │ │ ├── sq_dist.m │ │ └── unwrap.m │ ├── hypers.mat │ ├── plot_additive_decomp.m │ ├── plot_additive_decomp_cov.m │ ├── plot_oned_gp.m │ ├── plot_oned_gplvm.m │ ├── plot_structure_examples.m │ ├── plot_symmetry_samples.m │ └── utils/ │ ├── colorbrew.m │ ├── coord_to_color.m │ ├── coord_to_image.m │ ├── draw_warped_density.m │ ├── logdet.m │ ├── logmvnpdf.m │ ├── logsumexp.m │ ├── logsumexp2.m │ ├── myaa.m │ ├── parseArgs.m │ ├── plot_little_circles.m │ ├── plot_little_circles_3d.m │ ├── save2pdf.m │ ├── saveeps.m │ ├── savepng.m │ ├── set_fig_units_cm.m │ ├── sq_dist.m │ ├── subaxis.m │ ├── test_coord_to_color.m │ ├── test_coord_to_image.m │ └── tightfig.m ├── common/ │ ├── CUEDbiblio.bst │ ├── PhDThesisPSnPDF.cls │ ├── commenting.tex │ ├── glyphtounicode.tex │ ├── header.tex │ ├── humble.tex │ ├── jmb.bst │ ├── official-preamble.tex │ ├── preamble.tex │ └── thesis-info.tex ├── deeplimits.tex ├── description.tex ├── discussion.tex ├── figures/ │ ├── additive/ │ │ ├── .svn/ │ │ │ ├── all-wcprops │ │ │ ├── entries │ │ │ ├── prop-base/ │ │ │ │ ├── 1st_order_censored_add.pdf.svn-base │ │ │ │ ├── 1st_order_censored_ard.pdf.svn-base │ │ │ │ ├── 1st_order_censored_d1.pdf.svn-base │ │ │ │ ├── 1st_order_censored_d1d2.pdf.svn-base │ │ │ │ ├── 1st_order_censored_d2.pdf.svn-base │ │ │ │ ├── 1st_order_censored_data.pdf.svn-base │ │ │ │ ├── 1st_order_censored_truth.pdf.svn-base │ │ │ │ ├── 3d_add_kernel_1.pdf.svn-base │ │ │ │ ├── 3d_add_kernel_2.pdf.svn-base │ │ │ │ ├── 3d_add_kernel_3.pdf.svn-base │ │ │ │ ├── 3d_add_kernel_32.pdf.svn-base │ │ │ │ ├── 3d_add_kernel_321.pdf.svn-base │ │ │ │ ├── additive_draw.pdf.svn-base │ │ │ │ ├── additive_kernel_2nd_order.pdf.svn-base │ │ │ │ ├── additive_kernel_draw_sum.pdf.svn-base │ │ │ │ ├── additive_kernel_draw_sum_p1.pdf.svn-base │ │ │ │ ├── additive_kernel_draw_sum_p2.pdf.svn-base │ │ │ │ ├── additive_kernel_sum_p1.pdf.svn-base │ │ │ │ ├── additive_kernel_sum_p2.pdf.svn-base │ │ │ │ ├── class_graph.pdf.svn-base │ │ │ │ ├── class_graph_ll.pdf.svn-base │ │ │ │ ├── hkl_add_ard_v1.pdf.svn-base │ │ │ │ ├── housing_order_ll.pdf.svn-base │ │ │ │ ├── housing_order_ll_upto.pdf.svn-base │ │ │ │ ├── housing_order_mse.pdf.svn-base │ │ │ │ ├── housing_order_mse_upto.pdf.svn-base │ │ │ │ ├── hulls.pdf.svn-base │ │ │ │ ├── interpretable_1st_order1.pdf.svn-base │ │ │ │ ├── interpretable_1st_order2.pdf.svn-base │ │ │ │ ├── interpretable_2nd_order1.pdf.svn-base │ │ │ │ ├── pumadyn1.pdf.svn-base │ │ │ │ ├── pumadyn2.pdf.svn-base │ │ │ │ ├── pumadyn3.pdf.svn-base │ │ │ │ ├── pumadyn_1d.pdf.svn-base │ │ │ │ ├── reg_graph.pdf.svn-base │ │ │ │ ├── reg_graph_ll.pdf.svn-base │ │ │ │ ├── sqexp_kernel.pdf.svn-base │ │ │ │ └── synth_plot_1.pdf.svn-base │ │ │ └── text-base/ │ │ │ ├── 1st_order_censored_add.pdf.svn-base │ │ │ ├── 1st_order_censored_ard.pdf.svn-base │ │ │ ├── 1st_order_censored_d1.pdf.svn-base │ │ │ ├── 1st_order_censored_d1d2.pdf.svn-base │ │ │ ├── 1st_order_censored_d2.pdf.svn-base │ │ │ ├── 1st_order_censored_data.pdf.svn-base │ │ │ ├── 1st_order_censored_truth.pdf.svn-base │ │ │ ├── 3d_add_kernel_1.pdf.svn-base │ │ │ ├── 3d_add_kernel_2.pdf.svn-base │ │ │ ├── 3d_add_kernel_3.pdf.svn-base │ │ │ ├── 3d_add_kernel_32.pdf.svn-base │ │ │ ├── 3d_add_kernel_321.pdf.svn-base │ │ │ ├── additive_draw.pdf.svn-base │ │ │ ├── additive_kernel.pdf.svn-base │ │ │ ├── additive_kernel_2nd_order.pdf.svn-base │ │ │ ├── additive_kernel_draw_sum.pdf.svn-base │ │ │ ├── additive_kernel_draw_sum_p1.pdf.svn-base │ │ │ ├── additive_kernel_draw_sum_p2.pdf.svn-base │ │ │ ├── additive_kernel_sum_p1.pdf.svn-base │ │ │ ├── additive_kernel_sum_p2.pdf.svn-base │ │ │ ├── class_graph.pdf.svn-base │ │ │ ├── class_graph_ll.pdf.svn-base │ │ │ ├── hkl_add_ard_v1.pdf.svn-base │ │ │ ├── hkl_add_ard_v1.svg.svn-base │ │ │ ├── housing_order_ll.pdf.svn-base │ │ │ ├── housing_order_ll_upto.pdf.svn-base │ │ │ ├── housing_order_mse.pdf.svn-base │ │ │ ├── housing_order_mse_upto.pdf.svn-base │ │ │ ├── hulls.pdf.svn-base │ │ │ ├── hulls.svg.svn-base │ │ │ ├── hulls3.svg.svn-base │ │ │ ├── interpretable_1st_order1.pdf.svn-base │ │ │ ├── interpretable_1st_order2.pdf.svn-base │ │ │ ├── interpretable_2nd_order1.pdf.svn-base │ │ │ ├── pumadyn1.pdf.svn-base │ │ │ ├── pumadyn2.pdf.svn-base │ │ │ ├── pumadyn3.pdf.svn-base │ │ │ ├── pumadyn_1d.pdf.svn-base │ │ │ ├── reg_graph.pdf.svn-base │ │ │ ├── reg_graph_ll.pdf.svn-base │ │ │ ├── sqexp_draw.pdf.svn-base │ │ │ ├── sqexp_kernel.pdf.svn-base │ │ │ └── synth_plot_1.pdf.svn-base │ │ └── compare_models/ │ │ └── .svn/ │ │ ├── all-wcprops │ │ ├── entries │ │ ├── prop-base/ │ │ │ ├── additive.pdf.svn-base │ │ │ ├── ard.pdf.svn-base │ │ │ ├── gam.pdf.svn-base │ │ │ └── hkl.pdf.svn-base │ │ └── text-base/ │ │ ├── additive.pdf.svn-base │ │ ├── additive.svg.svn-base │ │ ├── ard.pdf.svn-base │ │ ├── ard.svg.svn-base │ │ ├── gam.pdf.svn-base │ │ ├── gam.svg.svn-base │ │ ├── hkl.pdf.svn-base │ │ ├── hkl.svg.svn-base │ │ ├── nodes.svg.svn-base │ │ └── old_version.svg.svn-base │ ├── grammar/ │ │ ├── airlinepages/ │ │ │ └── split_and_crop.sh │ │ ├── extrapolation_curves/ │ │ │ ├── 01-airline-s-ex-curve.fig │ │ │ ├── 01-airline-s-ex-curve_hint.fig │ │ │ ├── 02-solar-s-ex-curve.fig │ │ │ ├── 03-mauna2003-s-MSEs.mat │ │ │ └── 03-mauna2003-s-ex-curve.fig │ │ └── solarpages/ │ │ └── split_and_crop.sh │ └── intro/ │ ├── fuzzy-0 │ ├── fuzzy-1 │ ├── fuzzy-2 │ └── fuzzy-3 ├── grammar.tex ├── intro.tex ├── kernels.tex ├── misc/ │ ├── abstract.tex │ ├── acknowledgement.tex │ ├── declaration.tex │ ├── dedication.tex │ └── original-template/ │ ├── .gitignore │ ├── Abstract/ │ │ └── abstract.tex │ ├── Acknowledgement/ │ │ └── acknowledgement.tex │ ├── Appendix1/ │ │ └── appendix1.tex │ ├── Appendix2/ │ │ └── appendix2.tex │ ├── Chapter1/ │ │ └── chapter1.tex │ ├── Chapter2/ │ │ ├── Figs/ │ │ │ └── Vector/ │ │ │ ├── TomandJerry.eps │ │ │ ├── WallE.eps │ │ │ └── minion.eps │ │ └── chapter2.tex │ ├── Chapter3/ │ │ └── chapter3.tex │ ├── Classes/ │ │ ├── PhDThesisPSnPDF.cls │ │ └── glyphtounicode.tex │ ├── Declaration/ │ │ └── declaration.tex │ ├── Dedication/ │ │ └── dedication.tex │ ├── Figs/ │ │ └── University_Crest.eps │ ├── LICENSE │ ├── Makefile │ ├── Preamble/ │ │ └── preamble.tex │ ├── README.md │ ├── References/ │ │ └── references.bib │ ├── Variables.ini │ ├── compile-thesis.sh │ ├── thesis-info.tex │ └── thesis.tex ├── notation.tex ├── quadrature.tex ├── readme.md ├── references.bib ├── thesis.tex └── warped.tex
SYMBOL INDEX (25 symbols across 16 files)
FILE: code/gpml/util/lbfgsb/array.h
function operator (line 70) | bool operator== (const Array<Type>& a) const { return n == a.n; }
function operator (line 71) | bool operator!= (const Array<Type>& a) const { return !(*this == a); }
FILE: code/gpml/util/lbfgsb/arrayofmatrices.cpp
function ArrayOfMatrices (line 77) | ArrayOfMatrices& ArrayOfMatrices::operator= (const ArrayOfMatrices& sour...
FILE: code/gpml/util/lbfgsb/arrayofmatrices.h
function class (line 10) | class ArrayOfMatrices : public Array<Matrix*> {
FILE: code/gpml/util/lbfgsb/lbfgsb.cpp
function mexFunction (line 21) | void mexFunction (int nlhs, mxArray *plhs[],
FILE: code/gpml/util/lbfgsb/matlabexception.cpp
function MatlabException (line 15) | MatlabException& MatlabException::operator= (const MatlabException& source)
FILE: code/gpml/util/lbfgsb/matlabexception.h
function class (line 10) | class MatlabException : public std::exception {
FILE: code/gpml/util/lbfgsb/matlabmatrix.cpp
function Matrix (line 52) | Matrix& Matrix::operator= (const Matrix& source) {
FILE: code/gpml/util/lbfgsb/matlabmatrix.h
function class (line 22) | class Matrix : public Array<double> {
FILE: code/gpml/util/lbfgsb/matlabprogram.cpp
function copyElemsFromMatrix (line 10) | void copyElemsFromMatrix (const Matrix& source, double* dest) {
function copyElemsToMatrix (line 16) | void copyElemsToMatrix (const double* source, Matrix& dest) {
function copyElemsFromArrayOfMatrices (line 24) | void copyElemsFromArrayOfMatrices (const ArrayOfMatrices& source,
function copyElemsToArrayOfMatrices (line 35) | void copyElemsToArrayOfMatrices (const double* source,
function getBoundType (line 45) | int getBoundType (double& lb, double& ub) {
function SolverExitStatus (line 213) | SolverExitStatus MatlabProgram::runSolver() {
FILE: code/gpml/util/lbfgsb/matlabprogram.h
function class (line 13) | class MatlabProgram: public Program {
FILE: code/gpml/util/lbfgsb/matlabscalar.cpp
function MatlabScalar (line 32) | MatlabScalar& MatlabScalar::operator= (double value) {
FILE: code/gpml/util/lbfgsb/matlabscalar.h
function class (line 13) | class MatlabScalar {
FILE: code/gpml/util/lbfgsb/matlabstring.h
function class (line 16) | class MatlabString {
FILE: code/gpml/util/lbfgsb/program.cpp
function copyCStrToCharArray (line 11) | void copyCStrToCharArray (const char* source, char* dest, int ndest) {
function strIsEqualToCStr (line 32) | bool strIsEqualToCStr (const char* str, const char* cstr) {
function SolverExitStatus (line 88) | SolverExitStatus Program::runSolver() {
FILE: code/gpml/util/lbfgsb/program.h
type SolverExitStatus (line 7) | enum SolverExitStatus {
function class (line 46) | class Program {
FILE: code/gpml/util/solve_chol.c
function mexFunction (line 12) | void mexFunction(int nlhs, mxArray *plhs[], int nrhs, const mxArray *prh...
Condensed preview — 315 files, each showing path, character count, and a content snippet. Download the .json file or copy for the full structured content (3,909K chars).
[
{
"path": ".gitignore",
"chars": 218,
"preview": "*.acn\n*.acr\n*.alg\n*.aux\n*.bbl\n*.blg\n*.dvi\n*.fdb_latexmk\n*.glg\n*.glo\n*.gls\n*.idx\n*.ilg\n*.ind\n*.ist\n*.lof\n*.log\n*.lot\n*.ma"
},
{
"path": "additive.tex",
"chars": 45278,
"preview": "\\input{common/header.tex}\r\n\\inbpdocument\r\n\n\n\r\n%\\chapter{Dropout in Gaussian processes}\n\\chapter{Additive Gaussian Proces"
},
{
"path": "appendix.tex",
"chars": 23095,
"preview": "\\input{common/header.tex}\r\n\\inbpdocument\n\n\\chapter{Gaussian Conditionals}\n\\label{ch:appendix-gaussians}\n\n%\\section{Formu"
},
{
"path": "code/additive_extrapolation.m",
"chars": 4063,
"preview": "function additive_extrapolation(savefigs)\n% Generate some plots showing additive GP regression on synthetic datasets\n% w"
},
{
"path": "code/data/quebec/process.m",
"chars": 459,
"preview": "%% Load data\n\ndata = csvread('quebec-births-fixed.csv', 1, 0);\nX_full = data(:,1:4);\ny_full = data(:,5);\n\n%% Plot\nplot(X"
},
{
"path": "code/data/quebec/quebec-births-fixed.csv",
"chars": 357963,
"preview": "Standard time,Weekend,Floating holiday,Easter,Births\n1977.0000000000,1.0000000000,0.0000000000,0.0000000000,208.00000000"
},
{
"path": "code/data/quebec/quebec-births-standard.csv",
"chars": 129997,
"preview": "Standard time,Weekend,Floating holiday,Easter,Births\n1977,1,0,0,208\n1977.0027378508,1,0,0,241\n1977.0054757016,0,0,0,274\n"
},
{
"path": "code/decomp_birth.m",
"chars": 4986,
"preview": "function decomp_birth(savefigs)\n%\n% A simple demo script to show how to build a GP model in a realistic scenario.\n%\n% Da"
},
{
"path": "code/decomp_concrete.m",
"chars": 1795,
"preview": "function decomp_concrete(savefigs)\n%\n% A simple demo script to show the decomposition of a dataset into individual compo"
},
{
"path": "code/draw_2d_additive_kernels.m",
"chars": 5106,
"preview": "function draw_2d_additive_kernels\n% Make figures of additive kernels in 3 dimensions\n%\n% David Duvenaud\n% March 2014\n% ="
},
{
"path": "code/draw_3d_additive_kernels.m",
"chars": 3077,
"preview": "function draw_3d_additive_kernels\n% Make figures of additive kernels in 3 dimensions.\n%\n% David Duvenaud\n% March 2014\n% "
},
{
"path": "code/draw_manifolds.m",
"chars": 4486,
"preview": "function draw_shapes()\r\n%\r\n% Show latent surfaces warped into observed spaces using composite kernels.\r\n%\r\n% David Duven"
},
{
"path": "code/gpml/.octaverc",
"chars": 8,
"preview": "startup\n"
},
{
"path": "code/gpml/Copyright",
"chars": 1789,
"preview": " GAUSSIAN PROCESS REGRESSION AND CLASSIFICATION Toolbox version 3.1\n for GNU Octave 3.2.x and Matlab 7.x\n\nCopyright ("
},
{
"path": "code/gpml/README",
"chars": 9584,
"preview": " GAUSSIAN PROCESS REGRESSION AND CLASSIFICATION Toolbox version 3.1\n for GNU Octave 3.2.x and Matlab 7.x\n\nCopyright ("
},
{
"path": "code/gpml/barrier_fct.m",
"chars": 1853,
"preview": "function [f df] = barrier_fct(lh,covfunc,x,target)\n% wrapper used during GP training: penalizes unreasonable signal-to-n"
},
{
"path": "code/gpml/cov/covADD.m",
"chars": 3608,
"preview": "function K = covADD(cov, hyp, x, z, i)\n\n% Additive covariance function using a 1d base covariance function \n% cov(x^p,x^"
},
{
"path": "code/gpml/cov/covConst.m",
"chars": 1146,
"preview": "function K = covConst(hyp, x, z, i)\n\n% covariance function for a constant function. The covariance function is\n% paramet"
},
{
"path": "code/gpml/cov/covFITC.m",
"chars": 1689,
"preview": "function [K,Kuu,Ku] = covFITC(cov, xu, hyp, x, z, i)\r\n\r\n% Covariance function to be used together with the FITC approxim"
},
{
"path": "code/gpml/cov/covLIN.m",
"chars": 1054,
"preview": "function K = covLIN(hyp, x, z, i)\n\n% Linear covariance function. The covariance function is parameterized as:\n%\n% k(x^p,"
},
{
"path": "code/gpml/cov/covLINard.m",
"chars": 1545,
"preview": "function K = covLINard(hyp, x, z, i)\n\n% Linear covariance function with Automatic Relevance Determination (ARD). The\n% c"
},
{
"path": "code/gpml/cov/covLINone.m",
"chars": 1358,
"preview": "function K = covLINone(hyp, x, z, i)\n\n% Linear covariance function with a single hyperparameter. The covariance\n% functi"
},
{
"path": "code/gpml/cov/covMask.m",
"chars": 2159,
"preview": "function K = covMask(cov, hyp, x, z, i)\n\n% Apply a covariance function to a subset of the dimensions only. The subset ca"
},
{
"path": "code/gpml/cov/covMaterniso.m",
"chars": 2008,
"preview": "function K = covMaterniso(d, hyp, x, z, i)\n\n% Matern covariance function with nu = d/2 and isotropic distance measure. F"
},
{
"path": "code/gpml/cov/covNNone.m",
"chars": 2062,
"preview": "function K = covNNone(hyp, x, z, i)\n\n% Neural network covariance function with a single parameter for the distance\n% mea"
},
{
"path": "code/gpml/cov/covNoise.m",
"chars": 1478,
"preview": "function K = covNoise(hyp, x, z, i)\n\n% Independent covariance function, ie \"white noise\", with specified variance.\n% The"
},
{
"path": "code/gpml/cov/covPPiso.m",
"chars": 2433,
"preview": "function K = covPPiso(v, hyp, x, z, i)\n\n% Piecewise polynomial covariance function with compact support, v = 0,1,2,3.\n% "
},
{
"path": "code/gpml/cov/covPeriodic.m",
"chars": 1549,
"preview": "function K = covPeriodic(hyp, x, z, i)\n\n% Stationary covariance function for a smooth periodic function, with period p:\n"
},
{
"path": "code/gpml/cov/covPoly.m",
"chars": 1487,
"preview": "function K = covPoly(d, hyp, x, z, i)\n\n% Polynomial covariance function. The covariance function is parameterized as:\n%\n"
},
{
"path": "code/gpml/cov/covProd.m",
"chars": 2215,
"preview": "function K = covProd(cov, hyp, x, z, i)\n\n% covProd - compose a covariance function as the product of other covariance\n% "
},
{
"path": "code/gpml/cov/covRQard.m",
"chars": 2256,
"preview": "function K = covRQard(hyp, x, z, i)\n\n% Rational Quadratic covariance function with Automatic Relevance Determination\n% ("
},
{
"path": "code/gpml/cov/covRQiso.m",
"chars": 1861,
"preview": "function K = covRQiso(hyp, x, z, i)\n\n% Rational Quadratic covariance function with isotropic distance measure. The\n% cov"
},
{
"path": "code/gpml/cov/covSEard.m",
"chars": 2028,
"preview": "function K = covSEard(hyp, x, z, i)\n\n% Squared Exponential covariance function with Automatic Relevance Detemination\n% ("
},
{
"path": "code/gpml/cov/covSEiso.m",
"chars": 1655,
"preview": "function K = covSEiso(hyp, x, z, i)\n\n% Squared Exponential covariance function with isotropic distance measure. The \n% c"
},
{
"path": "code/gpml/cov/covSEisoU.m",
"chars": 1520,
"preview": "function K = covSEisoU(hyp, x, z, i)\n\n% Squared Exponential covariance function with isotropic distance measure with\n% u"
},
{
"path": "code/gpml/cov/covSEiso_length.m",
"chars": 1526,
"preview": "function K = covSEiso_length(hyp, x, z, i)\n\n% Squared Exponential covariance function with isotropic distance measure wi"
},
{
"path": "code/gpml/cov/covSEiso_var.m",
"chars": 1496,
"preview": "function K = covSEiso_var(hyp, x, z, i)\n\n% Squared Exponential covariance function with isotropic, fixed distance measur"
},
{
"path": "code/gpml/cov/covScale.m",
"chars": 1079,
"preview": "function K = covScale(cov, hyp, x, z, i)\n\n% meanScale - compose a mean function as a scaled version of another one.\n%\n% "
},
{
"path": "code/gpml/cov/covSum.m",
"chars": 2018,
"preview": "function K = covSum(cov, hyp, x, z, i)\n\n% covSum - compose a covariance function as the sum of other covariance\n% functi"
},
{
"path": "code/gpml/covFunctions.m",
"chars": 4870,
"preview": "% covariance functions to be use by Gaussian process functions. There are two\n% different kinds of covariance functions:"
},
{
"path": "code/gpml/doc/README",
"chars": 9584,
"preview": " GAUSSIAN PROCESS REGRESSION AND CLASSIFICATION Toolbox version 3.1\n for GNU Octave 3.2.x and Matlab 7.x\n\nCopyright ("
},
{
"path": "code/gpml/doc/changelog",
"chars": 1093,
"preview": " GAUSSIAN PROCESS REGRESSION AND CLASSIFICATION Toolbox version 3.1\n for GNU Octave 3.2.x and Matlab 7.x \n\nCopyright "
},
{
"path": "code/gpml/doc/demoClassification.m",
"chars": 3102,
"preview": "disp(' '); disp('clear all, close all');\nclear all, close all\ndisp(' ')\n\ndisp('n1 = 80; n2 = 40; % num"
},
{
"path": "code/gpml/doc/demoRegression.m",
"chars": 4928,
"preview": "disp(' '); disp('clear all, close all');\nclear all, close all\ndisp(' ');\n\ndisp('meanfunc = {@meanSum, {@meanLinear, @mea"
},
{
"path": "code/gpml/doc/gpml_randn.m",
"chars": 1109,
"preview": "function x = gpml_randn(seed,varargin)\n\n% Generate pseudo-random numbers in a quick and dirty way.\n% The function makes "
},
{
"path": "code/gpml/doc/index.html",
"chars": 33004,
"preview": "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.01 Transitional//EN\">\n<html>\n<head>\n <meta http-equiv=\"Content-type\" content="
},
{
"path": "code/gpml/doc/style.css",
"chars": 77,
"preview": "body {font-family: sans-serif; font-size: 16px}\ntable {font-size: inherit;}\n\n"
},
{
"path": "code/gpml/doc/usageClassification.m",
"chars": 2607,
"preview": "% demonstrate usage of classification\n%\n% Copyright (c) by Carl Edward Rasmussen and Hannes Nickisch 2010-06-21.\nclear a"
},
{
"path": "code/gpml/doc/usageCov.m",
"chars": 2130,
"preview": "% demonstrate usage of covariance functions\n%\n% See also covFunctions.m.\n%\n% Copyright (c) by Carl Edward Rasmussen and "
},
{
"path": "code/gpml/doc/usageMean.m",
"chars": 1286,
"preview": "% demonstrate usage of mean functions\n%\n% See also meanFunctions.m.\n%\n% Copyright (c) by Carl Edward Rasmussen and Hanne"
},
{
"path": "code/gpml/doc/usageRegression.m",
"chars": 2689,
"preview": "% demonstrate usage of regression\n%\n% Copyright (c) by Carl Edward Rasmussen and Hannes Nickisch 2010-07-21.\nclear all, "
},
{
"path": "code/gpml/gp.m",
"chars": 7710,
"preview": "function [varargout] = gp(hyp, inf, mean, cov, lik, x, y, xs, ys)\n% Gaussian Process inference and prediction. The gp fu"
},
{
"path": "code/gpml/inf/infEP.m",
"chars": 6132,
"preview": "function [post nlZ dnlZ] = infEP(hyp, mean, cov, lik, x, y)\n\n% Expectation Propagation approximation to the posterior Ga"
},
{
"path": "code/gpml/inf/infExact.m",
"chars": 1865,
"preview": "function [post nlZ dnlZ] = infExact(hyp, mean, cov, lik, x, y)\n\n% Exact inference for a GP with Gaussian likelihood. Com"
},
{
"path": "code/gpml/inf/infFITC.m",
"chars": 4042,
"preview": "function [post nlZ dnlZ] = infFITC(hyp, mean, cov, lik, x, y)\r\n\r\n% FITC approximation to the posterior Gaussian process."
},
{
"path": "code/gpml/inf/infLOO.m",
"chars": 4237,
"preview": "function [post nloo dnloo loo] = infLOO(hyp, mean, cov, lik, x, y)\n\n% Leave-One-Out - Perform Least-Squares GP predictio"
},
{
"path": "code/gpml/inf/infLaplace.m",
"chars": 6827,
"preview": "function [post nlZ dnlZ] = infLaplace(hyp, mean, cov, lik, x, y)\n\n% Laplace approximation to the posterior Gaussian proc"
},
{
"path": "code/gpml/inf/infVB.m",
"chars": 5970,
"preview": "function [post, nlZ, dnlZ] = infVB(hyp, mean, cov, lik, x, y)\n\n% Variational approximation to the posterior Gaussian pro"
},
{
"path": "code/gpml/infMethods.m",
"chars": 2011,
"preview": "% Inference methods: Compute the (approximate) posterior for a Gaussian process.\n% Methods currently implemented include"
},
{
"path": "code/gpml/lik/likErf.m",
"chars": 5700,
"preview": "function [varargout] = likErf(hyp, y, mu, s2, inf, i)\n\n% likErf - Error function or cumulative Gaussian likelihood funct"
},
{
"path": "code/gpml/lik/likGauss.m",
"chars": 4037,
"preview": "function [varargout] = likGauss(hyp, y, mu, s2, inf, i)\n\n% likGauss - Gaussian likelihood function for regression. The e"
},
{
"path": "code/gpml/lik/likLaplace.m",
"chars": 11070,
"preview": "function [varargout] = likLaplace(hyp, y, mu, s2, inf, i)\n\n% likLaplace - Laplacian likelihood function for regression. "
},
{
"path": "code/gpml/lik/likLogistic.m",
"chars": 7909,
"preview": "function [varargout] = likLogistic(hyp, y, mu, s2, inf, i)\n\n% likLogistic - logistic function for binary classification "
},
{
"path": "code/gpml/lik/likSech2.m",
"chars": 11090,
"preview": "function [varargout] = likSech2(hyp, y, mu, s2, inf, i)\n\n% likSech2 - sech-square likelihood function for regression. Of"
},
{
"path": "code/gpml/lik/likT.m",
"chars": 8786,
"preview": "function [varargout] = likT(hyp, y, mu, s2, inf, i)\n\n% likT - Student's t likelihood function for regression. \n% The exp"
},
{
"path": "code/gpml/likFunctions.m",
"chars": 3723,
"preview": "% likelihood functions are provided to be used by the gp.m function:\n%\n% likErf (Error function, classificatio"
},
{
"path": "code/gpml/mean/meanConst.m",
"chars": 655,
"preview": "function A = meanConst(hyp, x, i)\n\n% Constant mean function. The mean function is parameterized as:\n%\n% m(x) = c\n%\n% The"
},
{
"path": "code/gpml/mean/meanLinear.m",
"chars": 728,
"preview": "function A = meanLinear(hyp, x, i)\n\n% Linear mean function. The mean function is parameterized as:\n%\n% m(x) = sum_i a_i "
},
{
"path": "code/gpml/mean/meanMask.m",
"chars": 1273,
"preview": "function A = meanMask(mean, hyp, x, i)\n\n% Apply a mean function to a subset of the dimensions only. The subset can\n% eit"
},
{
"path": "code/gpml/mean/meanOne.m",
"chars": 486,
"preview": "function A = meanOne(hyp, x, i)\n\n% One mean function. The mean function does not have any parameters.\n%\n% m(x) = 1\n%\n% C"
},
{
"path": "code/gpml/mean/meanPow.m",
"chars": 977,
"preview": "function A = meanPow(mean, hyp, x, i)\n\n% meanPow - compose a mean function as the power of another mean function.\n%\n% Th"
},
{
"path": "code/gpml/mean/meanProd.m",
"chars": 2028,
"preview": "function A = meanProd(mean, hyp, x, i)\n\n% meanProd - compose a mean function as the product of other mean functions.\n% T"
},
{
"path": "code/gpml/mean/meanScale.m",
"chars": 893,
"preview": "function A = meanScale(mean, hyp, x, i)\n\n% meanScale - compose a mean function as a scaled version of another one.\n%\n% m"
},
{
"path": "code/gpml/mean/meanSum.m",
"chars": 1865,
"preview": "function A = meanSum(mean, hyp, x, i)\n\n% meanSum - compose a mean function as the sum of other mean functions.\n% This fu"
},
{
"path": "code/gpml/mean/meanZero.m",
"chars": 387,
"preview": "function A = meanZero(hyp, x, i)\n\n% Zero mean function. The mean function does not have any parameters.\n%\n% m(x) = 0\n%\n%"
},
{
"path": "code/gpml/meanFunctions.m",
"chars": 1610,
"preview": "% mean functions to be use by Gaussian process functions. There are two\n% different kinds of mean functions: simple and "
},
{
"path": "code/gpml/penalized_gp.m",
"chars": 1839,
"preview": "% A silly function to make sure that hyperparameters don't go off to\n% infinity.\n%\n% Should probably be handled somewher"
},
{
"path": "code/gpml/startup.m",
"chars": 776,
"preview": "% startup script to make Octave/Matlab aware of the GPML package\n%\n% Copyright (c) by Carl Edward Rasmussen and Hannes N"
},
{
"path": "code/gpml/util/binaryEPGP.m",
"chars": 3051,
"preview": "function varargout = binaryEPGP(hyper, covfunc, x, y, xstar)\n\n% binaryEPGP - The Expectation Propagation approximation f"
},
{
"path": "code/gpml/util/binaryGP.m",
"chars": 4967,
"preview": "function varargout = binaryGP(hyper, approx, covfunc, lik, x, y, xstar)\n\n% Approximate binary Gaussian Process classific"
},
{
"path": "code/gpml/util/binaryLaplaceGP.m",
"chars": 3608,
"preview": "function varargout = binaryLaplaceGP(hyper, covfunc, lik, x, y, xstar)\n\n% binaryLaplaceGP - Laplace's approximation for "
},
{
"path": "code/gpml/util/brentmin.m",
"chars": 3963,
"preview": "%% BRENTMIN: Brent's minimization method in one dimension\nfunction [xmin,fmin,funccount,varargout] = ...\n "
},
{
"path": "code/gpml/util/elsympol.m",
"chars": 697,
"preview": "% Evaluate the order R elementary symmetric polynomial Newton's identity aka\n% the Newton–Girard formulae: http://en.wik"
},
{
"path": "code/gpml/util/elsympol2.m",
"chars": 862,
"preview": "% Evaluate the order R elementary symmetric polynomial Newton's identity aka\n% the Newton–Girard formulae: http://en.wik"
},
{
"path": "code/gpml/util/gpr.m",
"chars": 2487,
"preview": "function varargout = gpr(hyper, cov, x, y, xs)\n\n% gpr - Gaussian process regression, with a named covariance function. T"
},
{
"path": "code/gpml/util/lbfgsb/Makefile",
"chars": 2229,
"preview": "# path to your Matlab installation\n# you can find it by the commands 'locate matlab' or 'find / -name \"matlab\"'\nMATLAB_H"
},
{
"path": "code/gpml/util/lbfgsb/README.html",
"chars": 18257,
"preview": "<html>\n<title>MATLAB interface for L-BFGS-B</title>\n<body bgcolor=\"#FFFFFF\">\n\n<center>\n<br>\n<table align=\"center\" border"
},
{
"path": "code/gpml/util/lbfgsb/array.h",
"chars": 4556,
"preview": "#ifndef INCLUDE_ARRAY\n#define INCLUDE_ARRAY\n\n#include \"matlabexception.h\"\n#include <string.h>\n\n// Function definitions.\n"
},
{
"path": "code/gpml/util/lbfgsb/arrayofmatrices.cpp",
"chars": 2477,
"preview": "#include \"arrayofmatrices.h\"\n#include \"matrix.h\"\n\n// Function definitions for class ArrayOfMatrices.\n// ----------------"
},
{
"path": "code/gpml/util/lbfgsb/arrayofmatrices.h",
"chars": 2148,
"preview": "#ifndef INCLUDE_ARRAYOFMATRICES\n#define INCLUDE_ARRAYOFMATRICES\n\n#include \"array.h\"\n#include \"matlabmatrix.h\"\n#include \""
},
{
"path": "code/gpml/util/lbfgsb/lbfgsb.cpp",
"chars": 4060,
"preview": "#include \"mex.h\"\n#include \"matrix.h\"\n#include \"matlabexception.h\"\n#include \"matlabscalar.h\"\n#include \"matlabstring.h\"\n#i"
},
{
"path": "code/gpml/util/lbfgsb/license.txt",
"chars": 1559,
"preview": "Copyright (c) 2009, Peter Carbonetto\nAll rights reserved.\n\nRedistribution and use in source and binary forms, with or wi"
},
{
"path": "code/gpml/util/lbfgsb/matlabexception.cpp",
"chars": 512,
"preview": "#include \"matlabexception.h\"\n\n// Function definitions for class MatlabException.\n// ------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabexception.h",
"chars": 869,
"preview": "#ifndef INCLUDE_MATLABEXCEPTION\n#define INCLUDE_MATLABEXCEPTION\n\n#include <exception>\n\n// Class MatlabException\n// -----"
},
{
"path": "code/gpml/util/lbfgsb/matlabmatrix.cpp",
"chars": 1646,
"preview": "#include \"matlabmatrix.h\"\n#include \"matlabexception.h\"\n\n// Function definitions.\n// ------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabmatrix.h",
"chars": 2418,
"preview": "#ifndef INCLUDE_MATLABMATRIX\n#define INCLUDE_MATLABMATRIX\n\n#include \"array.h\"\n#include \"mex.h\"\n\n// Class Matrix\n// -----"
},
{
"path": "code/gpml/util/lbfgsb/matlabprogram.cpp",
"chars": 7466,
"preview": "#include \"matlabprogram.h\"\n#include \"array.h\"\n\n// Function definitions.\n// ---------------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabprogram.h",
"chars": 2881,
"preview": "#ifndef INCLUDE_MATLABPROGRAM\n#define INCLUDE_MATLABPROGRAM\n\n#include \"mex.h\"\n#include \"program.h\"\n#include \"matlabscala"
},
{
"path": "code/gpml/util/lbfgsb/matlabscalar.cpp",
"chars": 984,
"preview": "#include \"matlabscalar.h\"\n#include \"matlabexception.h\"\n\n// Function definitions.\n// ------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabscalar.h",
"chars": 1204,
"preview": "#ifndef INCLUDE_MATLABSCALAR\n#define INCLUDE_MATLABSCALAR\n\n#include \"mex.h\"\n\n// Class MatlabScalar\n// ------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabstring.cpp",
"chars": 1031,
"preview": "#include \"matlabstring.h\"\n#include \"matlabexception.h\"\n\n// Function definitions.\n// ------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/matlabstring.h",
"chars": 1154,
"preview": "#ifndef INCLUDE_MATLABSTRING\n#define INCLUDE_MATLABSTRING\n\n#include \"mex.h\"\n#include <string.h>\n\n// Function declaration"
},
{
"path": "code/gpml/util/lbfgsb/program.cpp",
"chars": 4029,
"preview": "#include \"program.h\"\n#include <string.h>\n\n// Function definitions.\n// --------------------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/program.h",
"chars": 5031,
"preview": "#ifndef INCLUDE_PROGRAM\n#define INCLUDE_PROGRAM\n\n// Type definitions.\n// -----------------------------------------------"
},
{
"path": "code/gpml/util/lbfgsb/solver.f",
"chars": 141064,
"preview": "c================ L-BFGS-B (version 2.4) ==========================\n \n subroutine setulb(n, m, x, l, u, nbd, f"
},
{
"path": "code/gpml/util/lbfgsb.m",
"chars": 4993,
"preview": "% LBFGSB Call the nonlinear bound-constrained solver that uses\n% limited-memory BFGS quasi-Newton updates.\n%\n% "
},
{
"path": "code/gpml/util/make.m",
"chars": 2100,
"preview": "% For compilation under Linux/Octave you need to install the package\n% octavex.x-headers.\n% Under Windows/Octave, compil"
},
{
"path": "code/gpml/util/minimize.m",
"chars": 10555,
"preview": "% minimize.m - minimize a smooth differentiable multivariate function using\n% LBFGS (Limited memory LBFGS) or CG (Conjug"
},
{
"path": "code/gpml/util/minimize_bfgs.m",
"chars": 11956,
"preview": "% minimize.m - minimize a smooth differentiable multivariate function using\n% LBFGS (Limited memory LBFGS) or CG (Conjug"
},
{
"path": "code/gpml/util/minimize_lbfgsb.m",
"chars": 4476,
"preview": "function [X, fX, i] = minimize_lbfgsb(X, f, length, varargin)\n\n% Minimize a differentiable multivariate function using q"
},
{
"path": "code/gpml/util/minimize_lbfgsb_gradfun.m",
"chars": 2390,
"preview": "function G = minimize_lbfgsb_gradfun(X,varargin)\n\n % extract input arguments\n varargin = varargin{1}; strctX = varargi"
},
{
"path": "code/gpml/util/minimize_lbfgsb_objfun.m",
"chars": 2695,
"preview": "function y = minimize_lbfgsb_objfun(X,varargin)\n\n % extract input arguments\n varargin = varargin{1}; strctX = varargin"
},
{
"path": "code/gpml/util/minimize_may18.m",
"chars": 9431,
"preview": "% minimize.m - minimize a smooth differentiable multivariate function using\n% LBFGS (Limited memory LBFGS) or CG (Conjug"
},
{
"path": "code/gpml/util/minimize_may21.m",
"chars": 10555,
"preview": "% minimize.m - minimize a smooth differentiable multivariate function using\n% LBFGS (Limited memory LBFGS) or CG (Conjug"
},
{
"path": "code/gpml/util/minimize_pre_oct26.m",
"chars": 10555,
"preview": "% minimize.m - minimize a smooth differentiable multivariate function using\n% LBFGS (Limited memory LBFGS) or CG (Conjug"
},
{
"path": "code/gpml/util/old_minimize.m",
"chars": 11198,
"preview": "function [X, fX, i] = minimize(X, f, length, varargin)\n\n% Minimize a differentiable multivariate function using conjugat"
},
{
"path": "code/gpml/util/rewrap.m",
"chars": 1014,
"preview": "% Map the numerical elements in the vector \"v\" onto the variables \"s\" which can\n% be of any type. The number of numerica"
},
{
"path": "code/gpml/util/solve_chol.c",
"chars": 1284,
"preview": "/* solve_chol - solve a linear system A*X = B using the cholesky factorization\n of A (where A is square, symmetric and"
},
{
"path": "code/gpml/util/solve_chol.m",
"chars": 993,
"preview": "% solve_chol - solve linear equations from the Cholesky factorization.\n% Solve A*X = B for X, where A is square, symmetr"
},
{
"path": "code/gpml/util/sq_dist.m",
"chars": 1967,
"preview": "% sq_dist - a function to compute a matrix of all pairwise squared distances\n% between two sets of vectors, stored in th"
},
{
"path": "code/gpml/util/unwrap.m",
"chars": 651,
"preview": "% Extract the numerical values from \"s\" into the column vector \"v\". The\n% variable \"s\" can be of any type, including str"
},
{
"path": "code/plot_additive_decomp.m",
"chars": 6407,
"preview": "function plot_additive_decomp( X, y, kernel_components, kernel_params, log_noise, show_samples, savefigs, fileprefix )\n%"
},
{
"path": "code/plot_additive_decomp_cov.m",
"chars": 6599,
"preview": "function plot_additive_decomp_cov( X, y, kernel_components, kernel_params, log_noise, savefigs, file_prefix, column_name"
},
{
"path": "code/plot_oned_gp.m",
"chars": 4098,
"preview": "function plot_oned_gp( savefigs )\n%\n% A demo showing what happens if you condition on GPs.\n%\n% David Duvenaud\n% March 20"
},
{
"path": "code/plot_oned_gplvm.m",
"chars": 3471,
"preview": "% A simple demo to help me understand variational methods.\n%\n% David Duvenaud\n% March 2013\n\n% fix the seed of the random"
},
{
"path": "code/plot_structure_examples.m",
"chars": 7955,
"preview": "function plot_structure_examples(seed)\n\n% A script to make a series of plots demonstrating how structure can be\n% reflec"
},
{
"path": "code/plot_symmetry_samples.m",
"chars": 5009,
"preview": "function plot_symmetry_samples\n% Simple demo of drawing from a 2-dimensional GP\n%\n% David Duvenaud\n% March 2014\n% -=-=-="
},
{
"path": "code/utils/colorbrew.m",
"chars": 1471,
"preview": "function c = colorbrew( i, flag, N )\n%\n% Nice colors taken from \n% http://colorbrewer2.org/\n%\n% David Duvenaud\n% March 2"
},
{
"path": "code/utils/coord_to_color.m",
"chars": 1754,
"preview": "function colors = coord_to_color(x, scale)\r\n% Takes a set of 2d points and turns them into colors\r\n%\r\n% David Duvenaud\r\n"
},
{
"path": "code/utils/coord_to_image.m",
"chars": 2195,
"preview": "function colors = coord_to_image(x)\r\n% Takes a set of 2d points and turns them into colors\r\n%\r\n% David Duvenaud\r\n% March"
},
{
"path": "code/utils/draw_warped_density.m",
"chars": 1174,
"preview": "% Plot the density in the observed space.\n%\n% David and Tomo\n\nfunction draw_warped_density( X, Y, log_hypers, ...\n "
},
{
"path": "code/utils/logdet.m",
"chars": 118,
"preview": "function ld = logdet(K)\n % returns the log-determinant of posdef matrix K.\n ld = 2*sum(log(diag(chol(K))));\nend\n"
},
{
"path": "code/utils/logmvnpdf.m",
"chars": 536,
"preview": "function logp = logmvnpdf(x,mu,Sigma)\n% Log of multivariate normal pdf.\n%\n% David Duvenaud\n% January 2012.\n\ndim = length"
},
{
"path": "code/utils/logsumexp.m",
"chars": 489,
"preview": "function s = logsumexp(x, dim)\n% Returns log(sum(exp(x),dim)) while avoiding numerical underflow.\n% Default is dim = 1 ("
},
{
"path": "code/utils/logsumexp2.m",
"chars": 571,
"preview": "function s = logsumexp(a, dim)\n% Returns log(sum(exp(a),dim)) while avoiding numerical underflow.\n% Default is dim = 1 ("
},
{
"path": "code/utils/myaa.m",
"chars": 11563,
"preview": "function [varargout] = myaa(varargin)\n%MYAA Render figure with anti-aliasing.\n% MYAA\n% Anti-aliased rendering of the"
},
{
"path": "code/utils/parseArgs.m",
"chars": 4496,
"preview": "function ArgStruct=parseArgs(args,ArgStruct,varargin)\r\n% Helper function for parsing varargin. \r\n%\r\n%\r\n% ArgStruct=parse"
},
{
"path": "code/utils/plot_little_circles.m",
"chars": 1046,
"preview": "function p = plot_little_circles(x, y, circle, col, alpha, fast)\n%AG_PLOT_LITTLE_CIRCLES Plot circular circles of relati"
},
{
"path": "code/utils/plot_little_circles_3d.m",
"chars": 975,
"preview": "function p = plot_little_circles_3d(x, y, z, circle, col)\n%AG_PLOT_LITTLE_CIRCLES Plot circular circles of relative size"
},
{
"path": "code/utils/save2pdf.m",
"chars": 2321,
"preview": "%SAVE2PDF Saves a figure as a properly cropped pdf\r\n%\r\n% save2pdf(pdfFileName,handle,dpi)\r\n%\r\n% - pdfFileName: Desti"
},
{
"path": "code/utils/saveeps.m",
"chars": 567,
"preview": "function saveeps( name )\n handle = gcf;\n % Make changing paper type possible\n set(handle,'PaperType','<custom>'"
},
{
"path": "code/utils/savepng.m",
"chars": 557,
"preview": "function savepng( handle, name )\n % Make changing paper type possible\n set(handle,'PaperType','<custom>');\n\n % "
},
{
"path": "code/utils/set_fig_units_cm.m",
"chars": 148,
"preview": "function set_fig_units_cm( width, height )\n\nset(gcf,'units','centimeters');\npos = get(gcf,'position');\nset(gcf,'position"
},
{
"path": "code/utils/sq_dist.m",
"chars": 1967,
"preview": "% sq_dist - a function to compute a matrix of all pairwise squared distances\n% between two sets of vectors, stored in th"
},
{
"path": "code/utils/subaxis.m",
"chars": 3338,
"preview": "function h=subaxis(varargin)\r\n%SUBAXIS Create axes in tiled positions. (just like subplot)\r\n% Usage:\r\n% h=subaxis"
},
{
"path": "code/utils/test_coord_to_color.m",
"chars": 187,
"preview": "% test coord to color\r\n\r\nn = 1000;\r\nx = randn( n, 2);\r\ncolors = coord_to_color(x);\r\n\r\n%close all;\r\nfigure;\r\nfor i = 1:n\r"
},
{
"path": "code/utils/test_coord_to_image.m",
"chars": 264,
"preview": "% test coord to color\r\n\r\ngrid_resolution = 100;\r\nxrange = linspace( 0, 2,grid_resolution);\r\n[x1, x2] = ndgrid( xrange, x"
},
{
"path": "code/utils/tightfig.m",
"chars": 4028,
"preview": "function hfig = tightfig(hfig)\r\n% tightfig: Alters a figure so that it has the minimum size necessary to\r\n% enclose all "
},
{
"path": "common/CUEDbiblio.bst",
"chars": 19782,
"preview": "% BibTeX standard bibliography style `plain'\n\t% version 0.99a for BibTeX versions 0.99a or later, LaTeX version 2.09.\n\t%"
},
{
"path": "common/PhDThesisPSnPDF.cls",
"chars": 26077,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%% "
},
{
"path": "common/commenting.tex",
"chars": 1744,
"preview": "%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%%% EDITING HELPER FUNCTIONS %%%%%%%%%%%%%%%%%%%%%%%%%%%\n%%"
},
{
"path": "common/glyphtounicode.tex",
"chars": 175172,
"preview": "% this file was converted from the following files:\n% - glyphlist.txt (Adobe Glyph List v2.0)\n% - zapfdingbats"
},
{
"path": "common/header.tex",
"chars": 1383,
"preview": "%\r\n% A header that lets you compile a chapter by itself, or inside a larger document.\r\n% Adapted from stackoverflow.com/"
},
{
"path": "common/humble.tex",
"chars": 793,
"preview": "\n% HUMBLE WORDS: shown slightly smaller when in normal text\n% Christian Steinruecken\n%\n\\makeatletter%\n%\\def\\@humbleforma"
},
{
"path": "common/jmb.bst",
"chars": 30121,
"preview": "%%\n%% This is file `jmb.bst',\n%% generated with the docstrip utility.\n%%\n%% The original source files were:\n%%\n%% merlin"
},
{
"path": "common/official-preamble.tex",
"chars": 5666,
"preview": "\n%\\usepackage{draftwatermark}\n%\\SetWatermarkLightness{0.95}\n\n% *********************************************************"
},
{
"path": "common/preamble.tex",
"chars": 12995,
"preview": "% All my custom preamble stuff. Shouldn't overlap with anything in official-preamble\n\n\n\n\n% Paths to figure and table di"
},
{
"path": "common/thesis-info.tex",
"chars": 1556,
"preview": "% ************************ Thesis Information & Meta-data **********************\n\n%% The title of the thesis\n%\\title{Str"
},
{
"path": "deeplimits.tex",
"chars": 80745,
"preview": "\\input{common/header.tex}\r\n\\inbpdocument\r\n\n\r\n\\chapter{Deep Gaussian Processes}\r\n\\label{ch:deep-limits}\r\n\r\n\\begin{quotati"
},
{
"path": "description.tex",
"chars": 26011,
"preview": "\\input{common/header.tex}\r\n\\inbpdocument\r\n\r\n\r\n\\chapter{Automatic Model Description}\r\n\\label{ch:description}\n\n\n%“One day "
},
{
"path": "discussion.tex",
"chars": 14356,
"preview": "\\input{common/header.tex}\n\\inbpdocument\r\n\r\n\\chapter{Discussion}\r\n\\label{ch:discussion}\n\nThis chapter summarizes the cont"
},
{
"path": "figures/additive/.svn/all-wcprops",
"chars": 5776,
"preview": "K 25\nsvn:wc:ra_dav:version-url\nV 48\n/svn/dkd23/!svn/ver/65/NIPS2011_Additive/figures\nEND\n1st_order_censored_truth.pdf\nK "
},
{
"path": "figures/additive/.svn/entries",
"chars": 7349,
"preview": "10\n\ndir\n66\nhttps://mlg.eng.cam.ac.uk/svn/dkd23/NIPS2011_Additive/figures\nhttps://mlg.eng.cam.ac.uk/svn/dkd23\n\n\n\n2011-06-"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_add.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_ard.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_d1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_d1d2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_d2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_data.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/1st_order_censored_truth.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/3d_add_kernel_1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/3d_add_kernel_2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/3d_add_kernel_3.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/3d_add_kernel_32.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/3d_add_kernel_321.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_draw.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_2nd_order.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_draw_sum.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_draw_sum_p1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_draw_sum_p2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_sum_p1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/additive_kernel_sum_p2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/class_graph.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/class_graph_ll.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/hkl_add_ard_v1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/housing_order_ll.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/housing_order_ll_upto.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/housing_order_mse.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/housing_order_mse_upto.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/hulls.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/interpretable_1st_order1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/interpretable_1st_order2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/interpretable_2nd_order1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/pumadyn1.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/pumadyn2.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/pumadyn3.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/pumadyn_1d.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/reg_graph.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/reg_graph_ll.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
},
{
"path": "figures/additive/.svn/prop-base/sqexp_kernel.pdf.svn-base",
"chars": 53,
"preview": "K 13\nsvn:mime-type\nV 24\napplication/octet-stream\nEND\n"
}
]
// ... and 115 more files (download for full content)
About this extraction
This page contains the full source code of the duvenaud/phd-thesis GitHub repository, extracted and formatted as plain text for AI agents and large language models (LLMs). The extraction includes 315 files (3.6 MB), approximately 954.0k tokens, and a symbol index with 25 extracted functions, classes, methods, constants, and types. Use this with OpenClaw, Claude, ChatGPT, Cursor, Windsurf, or any other AI tool that accepts text input. You can copy the full output to your clipboard or download it as a .txt file.
Extracted by GitExtract — free GitHub repo to text converter for AI. Built by Nikandr Surkov.