


\subsection{Data description and preprocessing} \label{subsec:data_descript_preprocess}

We have access to 423 recorded short and medium-haul flights performed by the same narrow-body airliner, the data being recorded by the Quick Access Recorder (QAR). These flight data are  provided by a partner airline and can not be publicly released for commercial reasons. From this data set, we extract all the observations for the variables contained in the vector $Z$ defined in Section \ref{sec:appl}. The heading and the wind speed are also extracted to remove heading changes and high wind variations. All these variables are then smoothed by means of smoothing splines to remove the noise coming from measuring instruments and converted into the international system of units. The time-derivatives are computed on the basis of the smoothing splines. As explained in Section \ref{sec:appl}, we consider cruise phases in a vertical plane with no wind variations, so we require the following conditions to be satisfied:
\begin{itemize}
    \item we keep observations from the top of climb to the top of descent without those corresponding to climb steps; from a numerical point of view, we keep time-intervals such that the standard deviations of the altitude over these intervals is smaller than an arbitrary small threshold;
    \item the heading angle of the aircraft has to be constant; from a numerical point of view, we keep intervals such that the standard deviations of the heading over these intervals is smaller than an arbitrary small threshold; 
    \item the wind speed variations have to be equal to 0; from a numerical point of view, we keep intervals such that the means and the standard deviations of the time-derivative of the wind over these intervals are smaller than an arbitrary small threshold;
    \item the lengths of the resulting intervals have to be larger than 10 seconds;
\end{itemize}
Given the time-intervals during which the above conditions are satisfied, we sample every 10 seconds in each interval. This is motivated by the fact that the errors of the resulting models trained on the data set sampled every 10 seconds and on the data set without sampling are very close. Hence sampling allows to reduce the learning time without impacting strongly the accuracy. Afterwards the values for the approximated variables $C_D$ and $C_L$ are computed by means of the functions $\varphi_{C_D^\star}$ and $\varphi_{C_L^\star}$ defined in Section \ref{sec:appl}. Finally we have 164,054 observations which are randomly split into training, validation and test sets (70\% of the data set is used for the training, 20\% for the validation and 10\% for the test).

Table \ref{table:data} presents an example of a preprocessed data set (with simulated values to avoid divulgating the data set).

\begin{table}[ht]
    \tabcolsep=14.8pt%
    \caption{Example of a preprocessed data set.}
    {\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}|c|c|c|c|c|c|c|c|c|c|@{}}
        \hline
        Observation & $\rho$ & $V$ & $\alpha$ & $\mathrm{FF}$ & \ldots & $m$ & $\gamma$ \\
        \hline
        1 & 0.3224 & 234.5 & 0.0324 & 0.6716 & \ldots & 62,519 & 0.0139\\ 
        2 & 0.3704 & 236.8 & 0.0224 & 0.6503 & \ldots & 64,960 & 0.0198 \\
        3 & 0.3224 & 234.8 & 0.0305 & 0.6637 & \ldots & 66,974 & 0.0159 \\
        \vdots & \vdots & \vdots & \vdots & \vdots & & \vdots & \vdots \\
        164,054 & 0.3433 & 232.9 & 0.0332 & 0.6642 & \ldots & 66,673 & 0.0150 \\
        \hline
    \end{tabular*}
    }
    \label{table:data}
\end{table}


\subsection{Experiments design}

\begin{comment}
    Here we aim at estimating the following models for the approximated drag $C_D$ and lift $C_L$ coefficients,
    \begin{equation*}
        C_D = \widetilde{f}_{C_D^\star}(\alpha, M) \qquad \text{and} \qquad C_L = \widetilde{f}_{C_L^\star}(\alpha, M) \; ,
    \end{equation*}
    by exploiting of the preprocessed data described above. To do so, we make use of polynomial models \cite[Subsec 9.2.2]{SSBD2014} and ensemble decision trees models \cite[Chap. 10]{HTF2009}, the latter being fitted by a gradient tree boosting algorithm. We make now some comments on the hyper-parameters:
    \begin{itemize}
        \item the polynomial model depends only on the degree; it is determined by using 3-fold cross-validation, the loss function being here the mean squared error (MSE) and the largest degree being equal to 5;
        \item the ensemble decision trees models depend on the maximal depth of the trees; as previously it is computed by means of 3-fold cross-validation with the MSE as loss function. Note that we use an early stopping rule to limit the number of iterations, the validation set being used to stop iterating.
    \end{itemize}
    In the end, we are interested in the three following classical error metrics: the root-square of the mean squared error (RMSE), the mean absolute error (MAE) and the mean absolute percent error (MAPE). The polynomial models are computed using \texttt{scikit-learn} Python library \cite{scikit-learn} and we use the software package \texttt{LightGBM} \cite{Ke2017LightGBMAH} as an implementation of the gradient tree boosting algorithm.
\end{comment}

Here we aim at estimating the following models for the approximated drag $C_D$ and lift $C_L$ coefficients,
\begin{equation*}
    C_D = f_{C_D}(\alpha, M) \qquad \text{and} \qquad C_L = f_{C_L}(\alpha, M) \; ,
\end{equation*}
by exploiting the preprocessed data described above. To do so, we consider different classical models which are introduced in Table \ref{tab:models}. This table also gives the considered hyper-parameters and their range. The hyper-parameters are tuned by using 3-fold cross-validation, the loss function being the mean squared error. Furthermore we use an early stopping rule when fitting the gradient tree boosting model to limit the number of iterations, the validation set being used to stop iterating. The maximum number of iterations has been set to 5,000 in this case. In the end, we are interested in the three following classical error metrics: the root-square of the mean squared error (RMSE), the mean absolute error (MAE) and the mean absolute percent error (MAPE). We use the software package \texttt{LightGBM} \citep{Ke2017LightGBMAH} as an implementation of the gradient tree boosting algorithm and we compute the other models using \texttt{scikit-learn} Python library \citep{scikit-learn}.

\begin{table}[ht]
    \centering
    \tabcolsep=10pt%
    \caption{Hyper-parameters and their range for the considered models.}
    {\begin{tabular*}{.85\textwidth}{@{\extracolsep{\fill}}lllc@{}}
        \toprule
        Model & Hyper-parameters & Range \\
        \midrule
        {Constant} & none & $\emptyset$ \\
        {Linear} & none & $\emptyset$ \\
        Polynomial & degree & $\{2,3,4,5\}$ \\
        {SVM} & kernel & \{linear, polynomial, Gaussian, sigmoid\} \\
        {k-NN} & neighbours number, weights & $\{1, 21, 41, \dots, 701\} \times$\{uniform, distance\} \\
        {Decision tree} & trees depth & $\{1,2,\dots,10\}$ \\
        {Random forest} & trees depth, trees number & $\{1, 2, \dots, 6\} \times \{100, 200, \dots, 700\}$ \\
        {Gradient tree boosting} & trees depth & $\{1,2,\dots,6\}$ \\
    \end{tabular*}
    }
    \label{tab:models}
\end{table}


\subsection{Results}

We performed 100 times the learning process: at each time, the preprocessed data is randomly split into training, validation and test sets and the models are estimated and tested using these sets. The means and the standard deviations of the errors computed on the test sets are given in Tables \ref{table:errors_cd} and \ref{table:errors_cl}. We report numbers up to a precision of 3 decimal digits.
\begin{comment}
    According to our experiments, the cross-validation has always selected the value 5 for the best degree of the polynomial models for both $C_D$ and $C_L$. Regarding the gradient tree boosting models, the maximal depth of the trees has been fixed to 5 by the cross-validation in each learning process. We mention also that the gradient tree boosting algorithm stops after 59 iterations in average when estimating the model for $C_D$ and after 189 iterations for $C_L$.\\
\end{comment}

\begin{table}[ht]
    \tabcolsep=0pt%
    \caption{Means and standard deviations of error metrics for different $C_D$ models computed over 100 independent repetitions -- The smallest values are indicated by bolded numbers.}
    {\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lccc@{}}
        \toprule
        $C_D$ model & RMSE & MAE & MAPE [\%] \\
        \midrule
        {Constant} & $( 8.778 \pm 0.285 ) \times 10^{-3}$ & $( 5.932 \pm 0.102 ) \times 10^{-3}$ & $53.58 \pm 56.58$ \\
        {Linear} & $ (1.992 \pm \mathbf{0.021} ) \times 10^{-3}$ & $( 1.424 \pm \mathbf{0.006} ) \times 10^{-3}$ & $4.53 \pm \mathbf{0.05}$ \\
        Polynomial & $(\mathbf{1.926} \pm 0.029) \times 10^{-3}$ & $( 1.361 \pm 0.008 ) \times 10^{-3}$ & $4.31 \pm 0.06$ \\
        {SVM} & $( 1.392 \pm 0.259 ) \times 10^{-2} $ & $(1.360 \pm 0.269 ) \times 10^{-2} $ & $43.25 \pm 8.86$ \\
        {k-NN} & $( 1.936 \pm 0.025 ) \times 10^{-3}$ & $( 1.362 \pm \mathbf{0.006}) \times 10^{-3}$ & $4.31 \pm \mathbf{0.05}$ \\
        {Decision tree} & $( 1.961 \pm 0.038 ) \times 10^{-3}$ & $( 1.364 \pm 0.009) \times 10^{-3}$ & $4.32 \pm \mathbf{0.05}$ \\
        {Random forest} & $(1.929 \pm 0.026) \times 10^{-3}$ & $( 1.357 \pm 0.007 ) \times 10^{-3}$ & $\mathbf{4.29} \pm \mathbf{0.05}$ \\
        {Gradient tree boosting} & $( 1.928 \pm 0.047 )\times 10^{-3}$ & $( \mathbf{1.356} \pm 0.012 ) \times 10^{-3}$ & $\mathbf{4.29} \pm 0.08$ \\
    \end{tabular*}
    }
    \label{table:errors_cd}
\end{table}

\begin{table}[ht]
    \tabcolsep=0pt%
    \caption{Means and standard deviations of error metrics for different $C_L$ models computed over 100 independent repetitions -- The smallest values are indicated by bolded numbers.}
    {\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lccc@{}}
        \toprule
        $C_L$ model & RMSE & MAE & MAPE [\%] \\
        \midrule
        {Constant} & $( 7.358 \pm 0.116 ) \times 10^{-2}$ & $( 5.999 \pm 0.060 ) \times 10^{-2}$ & $14.24 \pm 0.14$ \\
        {Linear} & $ (1.436 \pm 0.007 ) \times 10^{-2}$ & $( 1.102 \pm 0.004 ) \times 10^{-2}$ & $2.17 \pm \mathbf{0.01}$ \\
        Polynomial & $(1.205 \pm \mathbf{0.005}) \times 10^{-2}$ & $( 9.203 \pm \mathbf{0.036} ) \times 10^{-3}$ & $1.78 \pm \mathbf{0.01}$ \\
        {SVM} & $( 6.272 \pm 0.029 ) \times 10^{-2} $ & $(5.982 \pm 0.030 ) \times 10^{-2} $ & $11.16 \pm 0.05$ \\
        {k-NN} & $( \mathbf{1.181} \pm 0.006 ) \times 10^{-2}$ & $( 8.976 \pm 0.039) \times 10^{-3}$ & $1.73 \pm \mathbf{0.01}$ \\
        {Decision tree} & $( 1.185 \pm 0.008 ) \times 10^{-2}$ & $( \mathbf{8.886} \pm 0.045) \times 10^{-3}$ & $\mathbf{1.71} \pm \mathbf{0.01}$ \\
        {Random forest} & $(1.209 \pm 0.006) \times 10^{-2}$ & $( 9.211 \pm 0.041) \times 10^{-3}$ & $1.78 \pm \mathbf{0.01}$ \\
        {Gradient tree boosting} & $( 1.192 \pm 0.011 )\times 10^{-2}$ & $( 9.025 \pm 0.072 ) \times 10^{-3}$ & $1.75 \pm 0.02$ \\
    \end{tabular*}
    }
    \label{table:errors_cl}
\end{table}

Figures \ref{fig:polar_poly}, \ref{fig:polar_tree} and \ref{fig:polar_lgbm} allow to visualise the tendencies of estimators $\hat{f}_{C_D}$ and $\hat{f}_{C_L}$ with respect to the Mach number for different fixed values of the angle of attack. Figures \ref{fig:polar_poly}, \ref{fig:polar_tree} and \ref{fig:polar_lgbm} show respectively a polynomial, a decision tree and a gradient tree boosting models.

First of all we observe that the decision tree and gradient tree boosting models lead to raw predicted curves which may be hard to interpret from an aeronautic point of view. This is especially true for the decision tree model even though its learning error is similar to those of the two other models. Since we aim here at checking whether some expected aeronautic tendencies are caught by our approach, we smooth the predicted curves by means of smoothing splines to interpret the results in an easier way. These smoothed curves are given by the dotted curves in Figures \ref{fig:polar_tree} and \ref{fig:polar_lgbm}. Note that the use of smoothing splines is to highlight the underlying tendency, but is certainly not used as a predictive method because of well-known artefacts due to the smoothing technique.


Now we mention that 90\% of Mach number data are between 0.77 and 0.80 and 90\% of angle of attack data are between 1.9$^{\circ}$ and 2.9$^{\circ}$. Then we observe that both predicted $C_D$ and $C_L$ globally increase when the Mach number or the angle of attack increases. This global tendency is actually expected in this small range of values according to \citet[Part 1, Chap. 2]{A1999}: the larger the angle of attack or the Mach number, the larger the drag and lift coefficients.

Nevertheless, this natural tendency for the lift coefficient is not verified by the estimators when $\alpha$ is too large, namely $\alpha=2.75^{\circ}$ or $\alpha=3^{\circ}$. This unexpected behaviour can be explained by the approximated nature of the variable $C_L$. Indeed it may behave in a way that is different from $C_L^\star$ in certain regions of the cruise domain. In this case, any estimator for $C_L$ is likely to inherit this unexpected behaviour and we believe refined aeronautics-supported approximations would bring a solution.

\begin{figure}[ht]
    \centering
    \includegraphics[width=\textwidth]{figures/polar_poly.png}
    \caption{Predictions of $C_D$ and $C_L$ from polynomial models}
    \label{fig:polar_poly}
\end{figure}

\begin{figure}[ht]
    \centering
    \includegraphics[width=\textwidth]{figures/polar_tree.png}
    \caption{Predictions of $C_D$ and $C_L$ from decision trees models --  Solid lines are the raw prediction curves and dotted lines are smoothed versions (using splines)}
    \label{fig:polar_tree}
\end{figure}

\begin{figure}[ht]
    \centering
    \includegraphics[width=\textwidth]{figures/polar_lgbm.png}
    \caption{Predictions of $C_D$ and $C_L$ from decision gradient tree boosting models -- Solid lines are the raw prediction curves and dotted lines are smoothed versions (using splines)}
    \label{fig:polar_lgbm}
\end{figure}

We now focus on the physical approximation errors for the drag and lift coefficients, that is to say $\eta_{C_D^\star}$ and $\eta_{C_L^\star}$. According to \eqref{eq:error_bound_k}, the mean of the absolute value of these errors is bounded by the product between the constants $K_{C_D^\star}$ or $K_{C_L^\star}$ with the mean absolute relative error of $C_{\mathrm{SR}}^\star$, the latter being equal to $3.68\times 10^{-2}$. We estimate the value of these constants by using our recorded observations: the maximal values of $K_{C_D^\star}$ or $K_{C_L^\star}$ (defined in Eqs. \eqref{eq:kcd} and \eqref{eq:kcl}) are respectively equal to $4.38\times 10^{-2}$ and $2.94\times 10^{-3}$. Using these two values as estimators for $K_{C_D^\star}$ and $K_{C_L^\star}$ gives the following bounds for the physical approximation errors:
\begin{equation*}
    \left\{ \begin{array}{l}
       \displaystyle \mathbb{E}_{C_D^\star, Z} \Big[ \big| \eta_{C_D^\star}\big(C_D^\star, Z\big) \big| \Big] \leqslant 1.61\times 10^{-3} \\[3mm]
       \displaystyle \mathbb{E}_{C_L^\star, Z} \Big[ \big| \eta_{C_L^\star}\big(C_L^\star, Z\big) \big| \Big] \leqslant 1.08\times 10^{-4}
    \end{array} \right. \; .
\end{equation*}

According to the generic inequality given in Lemma \ref{lem:lem1}, a bound for the mean of the absolute total error (defined in Section \ref{sec:abs_setting}) of a given variable can be obtained by adding up the bounds for the physical approximation and learning errors. The latter is here approximated by the MAE of the estimated model. To provide an example of numerical bounds for the total errors of the drag and lift coefficients, we choose estimators $\hat{f}_{C_D}$ and $\hat{f}_{C_L}$ whose MAE values are equal to the MAE means given in Tables \ref{table:errors_cd} and \ref{table:errors_cl}. Note that this choice is motivated by the fact that the standard deviations of the MAE for the different models are much smaller than the means. Following this choice, examples of bounds for the total errors are then given in Table \ref{table:total_errors}.

The empirical means of $C_D = \varphi_{C_D^\star}(Z)$ and $C_L = \varphi_{C_L^\star}(Z)$ over our data are respectively equal to
\begin{equation*}
    \widehat{\mathbb{E}_Z}\big[ \varphi_{C_D^\star}(Z) \big] = 3.23\times 10^{-2}\ , \qquad \widehat{\mathbb{E}_Z}\big[ \varphi_{C_L^\star}(Z) \big] = 5.32\times 10^{-1} \; ,
\end{equation*}
showing in particular that $\widehat{\mathbb{E}_Z}\big[ \varphi_{C_D^\star}(Z) \big] > 1.61\times 10^{-3}$ and $\widehat{\mathbb{E}_Z}\big[ \varphi_{C_L^\star}(Z) \big] > 1.08\times 10^{-4}$ (we used the slight notation abuse $\widehat{\mathbb{E}}$ to denote the empirical mean). The hypotheses of Lemma \ref{lem:lem2} are then satisfied and we are in position to upper bound the ratios between the mean of the absolute value of the total errors and the mean values of $C_D^\star$ and $C_L^\star$. Numerical values expressed as a percentage for these bounds are given in Table \ref{table:total_errors}.

\begin{table}[ht]
    \centering
    \tabcolsep=0pt%
    \caption{Bounds for the mean absolute and mean relative total errors of the drag and lift coefficients using estimators $\hat{f}_{C_D}$ and $\hat{f}_{C_L}$ whose MAE values are equal to the MAE means given in Tables \ref{table:errors_cd} and \ref{table:errors_cl} -- \emph{Absolute} and \emph{Relative} refer respectively to the bounds given in Lemmas \ref{lem:lem1} and \ref{lem:lem2}.}
    {\begin{tabular*}{.85\textwidth}{@{\extracolsep{\fill}}lcccc@{}}
        \toprule
        & \multicolumn{2}{@{}c@{}}{Drag coefficient} & \multicolumn{2}{@{}c@{}}{Lift coefficient} \\
        \cmidrule{2-3}\cmidrule{4-5}
        Models & Absolute & Relative [$\%$] & Absolute & Relative [$\%$] \\
        \midrule
        Constant & $7.542\times 10^{-3}$ & 24.57 & $6.010\times 10^{-2}$ & 11.30 \\
        Linear & $3.034\times 10^{-3}$ & 9.89 & $1.113\times 10^{-2}$ & 2.09 \\
        Polynomial & $2.971\times 10^{-3}$ & 9.68 & $9.311\times 10^{-3}$ & 1.75 \\
        SVM & $1.521\times 10^{-2}$ & 49.56 & $5.993\times 10^{-2}$ & 11.27 \\
        k-NN & $2.972\times 10^{-3}$ & 9.68 & $9.084\times 10^{-3}$ & 1.71 \\
        Decision tree & $2.974\times 10^{-3}$ & 9.69 & $\mathbf{8.994\times 10^{-3}}$ & \textbf{1.69} \\
        {Random forest} & $2.967\times 10^{-3}$ & \textbf{9.67} & $9.319\times 10^{-3}$ & 1.75 \\
        Gradient tree boosting & $\mathbf{2.966\times 10^{-3}}$ & \textbf{9.67} & $9.133\times 10^{-3}$ & 1.72 \\
    \end{tabular*}
    }
    \label{table:total_errors}
\end{table}


These results capture how classical, off-the-shelf regression methods perform and somewhat surprisingly, most methods compete on similar grounds (to the notable exception of the SVM). This suggests that most of these methods achieve a good enough complexity to capture the underlying phenomenon.

To finish, we mention that our approach is sufficiently generic to be applied to other settings, such as other flight phases. For the sake of illustration, we consider the drag coefficient during the climb phase. In this case, we exploit the climb data from our 423 available recorded flights, that is to say data for which the altitude is between 3,000 ft and the top of climb, and we apply the same preprocessing and learning steps as those described in this section. The results for the means and standard deviations of the learning errors computed over a test set are given in Table \ref{table:errors_cd_climb}. We remark that these errors are much larger than those for the cruise phase. This accuracy loss can be explained by the fact that each variable during the climb phase has a larger range. For instance, the Mach number varies from 0.3 at the beginning of the climb to 0.81 at the top of climb while it varies only from 0.76 and 0.81 during the cruise. In addition, we are not in position to compute a numerical value for a bound of the physical approximation errors means for $C_D^\star$. This is due to the fact that \cite{Roux2002} does not estimate the physical approximation error mean coming from its model for the variable $C_{\mathrm{SR}}^\star$ for the climb phase. Once such a quantity is available, numerical bounds for the total errors for $C_D^\star$ can be derived in this case.

\begin{table}[ht]
    \tabcolsep=0pt%
    \caption{Means and standard deviations of error metrics for different $C_D$ models for climb phase computed over 100 independent repetitions -- The smallest values are indicated by bolded numbers.}
    {\begin{tabular*}{\textwidth}{@{\extracolsep{\fill}}lccc@{}}
        \toprule
        $C_D$ model & RMSE & MAE & MAPE [\%] \\
        \midrule
        {Constant} & $( 8.912 \pm 0.373 ) \times 10^{-3}$ & $( 5.919 \pm 0.102 ) \times 10^{-3}$ & $48.21 \pm 40.71$ \\
        {Linear} & $ (6.061 \pm 0.208 ) \times 10^{-3}$ & $( 3.618 \pm 0.041 ) \times 10^{-3}$ & $29.08 \pm \mathbf{14.16}$ \\
        Polynomial & $(5.611 \pm 0.215) \times 10^{-3}$ & $( \mathbf{3.399} \pm 0.037 ) \times 10^{-3}$ & $27.94 \pm 14.33$ \\
        {SVM} & $( 2.274 \pm 0.708 ) \times 10^{-2} $ & $(1.937 \pm 0.659 ) \times 10^{-2} $ & $82.99 \pm 24.74$ \\
        {k-NN} & $( 5.639 \pm 0.215 ) \times 10^{-3}$ & $( 3.420 \pm \mathbf{0.035}) \times 10^{-3}$ & $26.90 \pm 14.93$ \\
        {Decision tree} & $( 5.840 \pm 0.315 ) \times 10^{-3}$ & $( 3.494 \pm 0.050) \times 10^{-3}$ & $\mathbf{26.74} \pm 14.26$ \\
        {Random forest} & $(\mathbf{5.598} \pm \mathbf{0.189}) \times 10^{-3}$ & $( 3.428 \pm \mathbf{0.035} ) \times 10^{-3}$ & $27.02 \pm 16.70$ \\
        {Gradient tree boosting} & $( 5.678 \pm 0.425 )\times 10^{-3}$ & $( 3.405 \pm 0.073 ) \times 10^{-3}$ & $33.27 \pm 32.07$ \\
    \end{tabular*}
    }
    \label{table:errors_cd_climb}
\end{table}





\subsubsection*{\bibname}}

\usepackage[top=2.5cm, bottom=2.5cm, left=2.5cm, right=2.5cm]{geometry}

\usepackage{booktabs}
\usepackage{color}
\usepackage{latexsym}              
\usepackage{amsmath}               
\usepackage{amssymb}               
\usepackage{amsfonts}              
\usepackage{amsthm}                
\usepackage{multirow}
\usepackage{tikz}                 
\usetikzlibrary{arrows,positioning,shapes}
\usepackage{tcolorbox}

\usepackage[english]{babel}

\RequirePackage[%
  pdfstartview=FitH,%
  breaklinks=true,%
  bookmarks=true,%
  colorlinks=true,%
  linkcolor= blue,
  anchorcolor=blue,%
  citecolor=blue,
  filecolor=blue,%
  menucolor=blue,%
  urlcolor=blue%
  ]{hyperref}
  
  \AtBeginDocument{%
  \hypersetup{%
    pdfauthor={Florent Dewez, Benjamin Guedj, Vincent Vandewalle},%
      colorlinks = true,%
    urlcolor = blue,%
    linkcolor = blue,%
    citecolor = orange,%
    pdftitle={From industry-wide parameters to aircraft-centric on-flight inference: improving aeronautics performance prediction with machine learning - compiled: \today}%
  }
}

\newcommand{\paren}[1]{\left( #1 \right)}
\newcommand{\croch}[1]{\left[\, #1 \,\right]}
\newcommand{\acc}[1]{\left\{ #1 \right\}}
\newcommand{\abs}[1]{\left| #1 \right|}
\newcommand{\norm}[1]{\left\Vert #1 \right\Vert}
  
  \newcommand{\todo}[1]{\textbf{\color{red}{[TODO: #1]}}}
  
\graphicspath{{figures/}}


\usepackage[mathcal]{eucal}

\renewenvironment{proof}[1][\proofname]{{\bfseries #1.}}{\qed \\ }

\makeatother

\newcommand{\note}[1]{{\textbf{\color{red}#1}}}

\DeclareGraphicsRule{.tif}{eps}{.tif.bb}{`tiff2ps #1}
\DeclareMathOperator*{\argmin}{arg\,min}

\newcommand{\mathbb{R}}{\mathbb{R}}
\newcommand{\mathbb{E}}{\mathbb{E}}
\def\mathrm{FF}{\mathrm{FF}}
\def\mathrm{SAT}{\mathrm{SAT}}
\def\mathrm{SR}{\mathrm{SR}}

\newtheorem{lem}{Lemma}
\newtheorem{remark}{Remark}

\bibliographystyle{plainnat}

\begin{document}
\title{From industry-wide parameters to aircraft-centric on-flight inference: improving aeronautics performance prediction with machine learning}

\author{\textbf{Florent Dewez}\footnote{Modal project-team, Lille - Nord Europe research centre, Inria, France} \\ [2ex]
\textbf{Benjamin Guedj}\footnote{Modal project-team, Lille - Nord Europe research centre, Inria, France; Centre for Artificial Intelligence, Department of Computer Science, University College London, United Kingdom} \\ [2ex]
\textbf{Vincent Vandewalle}\footnote{Modal project-team, Lille - Nord Europe research centre, Inria; Université de Lille, France} \\ [2ex]
}
\date{}

\maketitle

\begin{abstract}
Aircraft performance models play a key role in airline operations, especially in planning a fuel-efficient flight. In practice, manufacturers provide guidelines which are slightly modified throughout the aircraft life cycle via the tuning of a single factor, enabling better fuel predictions. However this has limitations, in particular they do not reflect the evolution of each feature impacting the aircraft performance. Our goal here is to overcome this limitation.
The key contribution of the present article is to foster the use of machine learning to leverage the massive amounts of data continuously recorded during flights performed by an aircraft and provide models reflecting its actual and individual performance.
We illustrate our approach by focusing on the estimation of the drag and lift coefficients from recorded flight data. As these coefficients are not directly recorded, we resort to aerodynamics approximations. As a safety check, we provide bounds to assess the accuracy of both the aerodynamics approximation and the statistical performance of our approach.
We provide numerical results on a collection of machine learning algorithms. We report excellent accuracy on real-life data and exhibit empirical evidence to support our modelling, in coherence with aerodynamics principles.
\end{abstract}


\section{Introduction}

\input{intro.tex}


\section{Statistical modelling} \label{sec:abs_setting}

\input{abst_appr.tex}


\section{Application to aircraft performance} \label{sec:appl}

\input{applications.tex}

\section{Experiments} \label{sec:num_exp}

\input{exp.tex}

\section{Conclusion}\label{sec:conclusion}

\input{conclusion.tex}

\paragraph{Acknowledgments}
The authors are grateful to Baptiste Gregorutti and Pierre Jouniaux for fruitful discussions about the conceptualisation of this research and the aeronautic validation of the results. The authors are grateful to Arthur Talpaert for his substantial contribution to the code used to implement our methods.

\paragraph{Funding statement}
This project has received funding from the Clean Sky 2 Joint Undertaking under the European Union’s Horizon 2020 research and innovation programme under grant agreement No 815914 (PERF-AI). The funder had no role in study design, data collection and analysis, decision to publish, or preparation of the manuscript.

