<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Publishing DTD v1.4 20241031//EN" "JATS-journalpublishing1-4.dtd">
<article xmlns:mml="http://www.w3.org/1998/Math/MathML" xmlns:xlink="http://www.w3.org/1999/xlink" article-type="research-article" dtd-version="1.4" xml:lang="en">
  <front>
    <journal-meta>
      <journal-id journal-id-type="publisher-id">jamp</journal-id>
      <journal-title-group>
        <journal-title>Journal of Applied Mathematics and Physics</journal-title>
      </journal-title-group>
      <issn pub-type="epub">2327-4379</issn>
      <issn pub-type="ppub">2327-4352</issn>
      <publisher>
        <publisher-name>Scientific Research Publishing</publisher-name>
      </publisher>
    </journal-meta>
    <article-meta>
      <article-id pub-id-type="doi">10.4236/jamp.2026.1410196</article-id>
      <article-id pub-id-type="publisher-id">jamp-154627</article-id>
      <article-categories>
        <subj-group>
          <subject>Article</subject>
        </subj-group>
        <subj-group>
          <subject>Physics</subject>
          <subject>Mathematics</subject>
        </subj-group>
      </article-categories>
      <title-group>
        <article-title>Spectral BRDF Prediction of Solar Panels Using a Five-Parameter Model and ExtraTrees</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Tian</surname>
            <given-names>Haibin</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Wang</surname>
            <given-names>Zhou</given-names>
          </name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Li</surname>
            <given-names>Dan</given-names>
          </name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Cai</surname>
            <given-names>Hongxing</given-names>
          </name>
          <xref ref-type="aff" rid="aff2">2</xref>
          <xref ref-type="aff" rid="aff4">4</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Zhou</surname>
            <given-names>Ziwei</given-names>
          </name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author">
          <name name-style="western">
            <surname>Zhang</surname>
            <given-names>Xuguo</given-names>
          </name>
          <xref ref-type="aff" rid="aff3">3</xref>
        </contrib>
        <contrib contrib-type="author" corresp="yes">
          <name name-style="western">
            <surname>Liu</surname>
            <given-names>Zhenwen</given-names>
          </name>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
      </contrib-group>
      <aff id="aff1"><label>1</label> School of Mathematics and Statistics, Changchun University of Science and Technology, Changchun, China </aff>
      <aff id="aff2"><label>2</label> School of Physics, Changchun University of Science and Technology, Changchun, China </aff>
      <aff id="aff3"><label>3</label> Beijing Institute of Space Mechanics &amp; Electricity, Beijing, China </aff>
      <aff id="aff4"><label>4</label> Jilin Provincial Key Laboratory of Spectral Detection Science and Technology for Higher Education, Changchun, China </aff>
      <author-notes>
        <fn fn-type="conflict" id="fn-conflict">
          <p>The authors declare no conflicts of interest regarding the publication of this paper.</p>
        </fn>
      </author-notes>
      <pub-date pub-type="epub">
        <day>08</day>
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <pub-date pub-type="collection">
        <month>10</month>
        <year>2026</year>
      </pub-date>
      <volume>14</volume>
      <issue>10</issue>
      <fpage>4049</fpage>
      <lpage>4065</lpage>
      <history>
        <date date-type="received">
          <day>06</day>
          <month>09</month>
          <year>2026</year>
        </date>
        <date date-type="accepted">
          <day>17</day>
          <month>10</month>
          <year>2026</year>
        </date>
        <date date-type="published">
          <day>20</day>
          <month>10</month>
          <year>2026</year>
        </date>
      </history>
      <permissions>
        <copyright-statement>© 2026 by the authors and Scientific Research Publishing Inc.</copyright-statement>
        <copyright-year>2026</copyright-year>
        <license license-type="open-access">
          <license-p> This article is an open access article distributed under the terms and conditions of the Creative Commons Attribution (CC BY) license ( <ext-link ext-link-type="uri" xlink:href="https://creativecommons.org/licenses/by/4.0/">https://creativecommons.org/licenses/by/4.0/</ext-link> ). </license-p>
        </license>
      </permissions>
      <self-uri content-type="doi" xlink:href="https://doi.org/10.4236/jamp.2026.1410196">https://doi.org/10.4236/jamp.2026.1410196</self-uri>
      <abstract>
        <p>Sparse angular measurements limit the prediction of solar-panel spectral bidirectional reflectance distribution functions (BRDFs), particularly near localized high-reflectance features. This study combines a wavelength-wise five-parameter semi-empirical model with two ExtraTrees regressors that predict a log-ratio residual and a direct log-spectrum. Their predictions are fused in log space, with reconstruction scale and fusion weight selected exclusively within each outer training partition. Measurements of a small solar-panel model containing solar cells under a glass covering comprise 120 angular configurations and 342 wavelengths from 500.08 to 759.85 nm. All configurations, including the highest-reflectance configuration, enter the primary evaluation; physically equivalent normal-view geometries remain together during splitting. Across 100 grouped random splits, the nested fusion model achieves mean global <italic>R</italic><sup>2</sup> of 0.7932, RMSE of 0.002421 sr<sup>−</sup><sup>1</sup>, cosine-weighted normalized squared error of 4.2545%, and spectral angle of 2.1984˚. Four incidence-angle holdouts yield mean <italic>R</italic><sup>2</sup> of 0.8378 and RMSE of 0.002176 sr<sup>−1</sup>. The high-reflectance configuration has mean held-out RMSE of 0.008614 sr<sup>−1</sup> over its 15 test occurrences in the random protocol, indicating substantial local sensitivity despite improved aggregate amplitude prediction. These results support internal prediction over the sampled geometry and spectral range, while limited angular coverage, nominal white-reference calibration, and unavailable repeat measurements constrain physical interpretation and uncertainty assessment.</p>
      </abstract>
      <kwd-group kwd-group-type="author-generated" xml:lang="en">
        <kwd>Solar Panel</kwd>
        <kwd>Spectral BRDF</kwd>
        <kwd>Five-Parameter Model</kwd>
        <kwd>ExtraTrees</kwd>
        <kwd>Nested Validation</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec1">
      <title>1. Introduction</title>
      <p>The bidirectional reflectance distribution function (BRDF) relates reflected radiance to incident irradiance and specifies their directional dependence [<xref ref-type="bibr" rid="B1">1</xref>]. It is used in optical-scattering characterization, target radiometry, and scene simulation. Rough-surface, microfacet, anisotropic, and comprehensive reflection models describe different aspects of surface appearance [<xref ref-type="bibr" rid="B2">2</xref>]-[<xref ref-type="bibr" rid="B5">5</xref>]. Diffuse-reflection models, alternative angular parameterizations, measured reflectance representations, and comparative studies extend these descriptions to more complex materials [<xref ref-type="bibr" rid="B6">6</xref>]-[<xref ref-type="bibr" rid="B10">10</xref>]. Their usefulness under sparse measurement depends on both the suitability of the model and the geometry of the available observations.</p>
      <p>Multiband optical observations support material characterization, while statistical five-parameter models provide compact descriptions of measured BRDFs [<xref ref-type="bibr" rid="B11">11</xref>][<xref ref-type="bibr" rid="B12">12</xref>]. Solar-cell and photovoltaic-module measurements show directional responses that depend on the surface and its covering; periodic structure, out-of-plane scattering, structured glass, and wave-optics effects have been studied in this context [<xref ref-type="bibr" rid="B13">13</xref>]-[<xref ref-type="bibr" rid="B17">17</xref>]. Such findings motivate geometry-dependent spectral prediction, but do not establish the detailed optical structure of an uncharacterized specimen. Here, the specimen is a small model fitted with actual solar cells and covered by glass. Its cell technology, glass coating, and fine surface structure have not been independently characterized.</p>
      <p>Automated BRDF measurement and learned reflectance representations offer additional routes to material and appearance characterization [<xref ref-type="bibr" rid="B18">18</xref>]-[<xref ref-type="bibr" rid="B20">20</xref>]. ExtraTrees, random forests, boosting, and multi-output regression provide nonlinear prediction tools [<xref ref-type="bibr" rid="B21">21</xref>]-[<xref ref-type="bibr" rid="B24">24</xref>], while principal components, Gaussian processes, and high-dimensional calibration methods offer alternative representations of correlated outputs [<xref ref-type="bibr" rid="B25">25</xref>]-[<xref ref-type="bibr" rid="B28">28</xref>]. This study uses two multi-output ExtraTrees regressors to learn complete spectra from angular coordinates. A positive semi-empirical anchor supports multiplicative residual learning, and log-domain fusion combines that representation with a direct spectral predictor.</p>
      <p>Evaluation must distinguish model selection from performance assessment [<xref ref-type="bibr" rid="B29">29</xref>]-[<xref ref-type="bibr" rid="B31">31</xref>] and respect dependence among observations [<xref ref-type="bibr" rid="B32">32</xref>]-[<xref ref-type="bibr" rid="B34">34</xref>]. We therefore reevaluate the model using training-only nested selection, physically grouped random splits, and held-out incidence-angle layers. The primary analysis retains all 120 measured configurations. A paired 119-configuration sensitivity analysis and explicit held-out prediction of the high-reflectance configuration assess the effect of the exclusion used in the earlier evaluation. The revised analysis tests aggregate amplitude recovery, spectral shape, and local failure modes without interpreting split variability as measurement repeatability.</p>
    </sec>
    <sec id="sec2">
      <title>2. Methods</title>
      <sec id="sec2dot1">
        <title>2.1. Specimen, Measurement Data, and Prediction Task</title>
        <p>The specimen is a small solar-panel model fitted with actual solar cells beneath an external glass covering. Measurements were made using the indoor spectral BRDF platform at Changchun University of Science and Technology. The acquisition documentation describes a solar simulator and reflecting mirror, a sample elevation platform, azimuth and zenith positioning structures, and fiber-coupled collection using a 74-UV optic and an Ocean QE65 Pro spectrometer. The documented procedure includes at least 15 min of warm-up, laser-assisted alignment, and integration-time adjustment to avoid saturation. The listed spectrometer range is 199.36 - 994.96 nm, with an optical resolution specification of 0.47 nm FWHM. These are instrument-document specifications; they are not an uncertainty estimate for this measurement batch.</p>
        <p>The angular coordinates are defined in <xref ref-type="fig" rid="fig1">Figure 1</xref>. The exported variables <italic>x</italic>, <italic>z</italic>, and <italic>y</italic> are in degrees, with:</p>
        <disp-formula id="FD1">
          <label>(1)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>θ</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>z</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mn>0</mml:mn>
                <mml:mo>∘</mml:mo>
              </mml:msup>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msub>
                <mml:mi>θ</mml:mi>
                <mml:mi>o</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mn>90</mml:mn>
                </mml:mrow>
                <mml:mo>∘</mml:mo>
              </mml:msup>
              <mml:mo>−</mml:mo>
              <mml:mi>y</mml:mi>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msub>
                <mml:mi>ϕ</mml:mi>
                <mml:mi>o</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mi>x</mml:mi>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, zenith angles are measured from the surface normal; <italic>x</italic> denotes observation azimuth and y is the complement of observation zenith. The grid is <italic>x</italic> = 30˚, 60˚, 90˚, 120˚, 150˚; <italic>z</italic> = 30˚, 40˚, 50˚, 60˚; and <italic>y</italic> = 15˚, 30˚, 45˚, 60˚, 75˚, 90˚. It contains 120 labeled configurations. At <italic>y</italic> = 90˚, observation is normal to the surface and azimuth is undefined physically. The five <italic>x</italic> labels at each fixed <italic>z</italic> are therefore placed in one physical group for splitting, giving 104 physical geometry groups. All measured spectra are retained; no averaging is performed. These equivalent labels are not treated as a documented repeatability experiment.</p>
        <fig id="fig1">
          <label>Figure 1</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId15.jpeg?20261020024220" />
        </fig>
        <p><bold>Figure 1.</bold> Measurement geometry and angular-coordinate definitions for the glass-covered solar-panel model. The recorded variables map to the BRDF angles as <italic>θ</italic><italic><sub>i</sub></italic> = <italic>z</italic>, <italic>θ</italic><italic><sub>r</sub></italic> = 90˚ − <italic>y</italic>, <italic>φ</italic><italic><sub>i</sub></italic> = 0˚, and <italic>φ</italic><italic><sub>r</sub></italic> = <italic>x</italic>. Direction vectors are defined away from the surface.</p>
        <p>The reference was a Labsphere Spectralon SRS-99 diffuse-reflectance standard with nominal reflectance of 99% [<xref ref-type="bibr" rid="B35">35</xref>]. The individual reference’s wavelength-dependent calibration spectrum was unavailable. The exported dataset uses an integration-time-normalized sample/reference ratio and the nominal Lambertian-reference conversion:</p>
        <disp-formula id="FD2">
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>f</mml:mi>
                <mml:mi>r</mml:mi>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>λ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mn>0.99</mml:mn>
                </mml:mrow>
                <mml:mi>π</mml:mi>
              </mml:mfrac>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi>S</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>/</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>t</mml:mi>
                        <mml:mi>S</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mrow>
                      <mml:mi>W</mml:mi>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mi>λ</mml:mi>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>/</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>t</mml:mi>
                        <mml:mi>W</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Here, <italic>S</italic> and <italic>W</italic> denote the exported sample and white-reference signals, and <italic>t</italic> denotes integration time. Sample integration times were 800,000 or 2,000,000 μs; the reference integration time was 100,000 μs. This conversion reproduces the BRDF column throughout the exported dataset. The nominal 0.99 factor is applied once. Manufacturer information describes the standard family but does not replace the unavailable calibration of the individual standard. Wavelength-dependent departures from 0.99, reference non-Lambertian behavior, and instrumental effects are not corrected by this nominal conversion. Although the acquisition procedure specifies background handling, its implementation cannot be independently reconstructed from the exported signals alone.</p>
        <p>The analyzed dataset contains 41,040 records marked quality_flag = ok, with 342 wavelength samples from 500.08 to 759.85 nm at every configuration. Adjacent exported wavelengths differ by approximately 0.74 - 0.78 nm; this sampling interval is distinct from optical resolution. No additional spectral resampling or smoothing is applied in the reevaluation. Each configuration supplies one complete output vector:</p>
        <disp-formula id="FD3">
          <label>(2)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>y</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>x</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>z</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>y</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>[</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>f</mml:mi>
                        <mml:mi>r</mml:mi>
                      </mml:msub>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>λ</mml:mi>
                            <mml:mn>1</mml:mn>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>f</mml:mi>
                        <mml:mi>r</mml:mi>
                      </mml:msub>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>λ</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                      <mml:mo>,</mml:mo>
                      <mml:mo>⋯</mml:mo>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>f</mml:mi>
                        <mml:mi>r</mml:mi>
                      </mml:msub>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>λ</mml:mi>
                            <mml:mrow>
                              <mml:mn>342</mml:mn>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mo>]</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>No dedicated repeated acquisitions at the same configuration are available. Consequently, measurement repeatability, a traceable combined uncertainty budget, and uncertainty attributable to positioning or source drift cannot be estimated from these data. The retained high-reflectance configuration is (<italic>x</italic>, <italic>z</italic>, <italic>y</italic>) = (30˚, 30˚, 60˚), corresponding to incident zenith 30˚, observation zenith 30˚, and observation azimuth 30˚. No configuration is removed because of its reflectance magnitude.</p>
      </sec>
      <sec id="sec2dot2">
        <title>2.2. Five-Parameter Semi-Empirical Anchor</title>
        <p>At each wavelength, the five-parameter model [<xref ref-type="bibr" rid="B12">12</xref>] is fitted independently:</p>
        <disp-formula id="FD4">
          <label>(3)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>f</mml:mi>
                <mml:mi>Z</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>k</mml:mi>
                    <mml:mi>b</mml:mi>
                  </mml:msub>
                  <mml:mi>D</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mi>α</mml:mi>
                      <mml:mo>;</mml:mo>
                      <mml:msub>
                        <mml:mi>k</mml:mi>
                        <mml:mi>r</mml:mi>
                      </mml:msub>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mi>F</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mi>γ</mml:mi>
                      <mml:mo>;</mml:mo>
                      <mml:mi>a</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>b</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mi>G</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>θ</mml:mi>
                        <mml:mi>i</mml:mi>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:msub>
                        <mml:mi>θ</mml:mi>
                        <mml:mi>o</mml:mi>
                      </mml:msub>
                      <mml:mo>,</mml:mo>
                      <mml:mi>ϕ</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:mi>cos</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>o</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>+</mml:mo>
              <mml:msub>
                <mml:mi>k</mml:mi>
                <mml:mi>d</mml:mi>
              </mml:msub>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The parameters <italic>k</italic><italic><sub>b</sub></italic> and <italic>k</italic><italic><sub>d</sub></italic> control directional and background components, <italic>k</italic><italic><sub>r</sub></italic> controls the distribution shape, and <italic>a</italic> and <italic>b</italic> control an empirical Fresnel-like term. The half-vector inclination is <italic>α</italic>, the angle between incident direction and half-vector is <italic>γ</italic>, and the relative azimuth is <italic>φ</italic> = <italic>φ</italic><italic><sub>i</sub></italic> − <italic>φ</italic><italic><sub>o</sub></italic>. Thus:</p>
        <disp-formula id="FD5">
          <label>(4)</label>
          <mml:math>
            <mml:mrow>
              <mml:msup>
                <mml:mrow>
                  <mml:mi>cos</mml:mi>
                </mml:mrow>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mi>γ</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mi>cos</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mi>cos</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>o</mml:mi>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:mi>sin</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mi>sin</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>o</mml:mi>
                  </mml:msub>
                  <mml:mi>cos</mml:mi>
                  <mml:mi>ϕ</mml:mi>
                  <mml:mo>+</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
                <mml:mn>2</mml:mn>
              </mml:mfrac>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD6">
          <label>(5)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>cos</mml:mi>
              <mml:mi>α</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:mi>cos</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:mi>cos</mml:mi>
                  <mml:msub>
                    <mml:mi>θ</mml:mi>
                    <mml:mi>o</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mrow>
                  <mml:mn>2</mml:mn>
                  <mml:mi>cos</mml:mi>
                  <mml:mi>γ</mml:mi>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The distribution and empirical reflection terms are:</p>
        <disp-formula id="FD7">
          <label>(6)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>D</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>α</mml:mi>
                  <mml:mo>;</mml:mo>
                  <mml:msub>
                    <mml:mi>k</mml:mi>
                    <mml:mi>r</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mi>k</mml:mi>
                    <mml:mi>r</mml:mi>
                    <mml:mn>2</mml:mn>
                  </mml:msubsup>
                  <mml:mi>cos</mml:mi>
                  <mml:mi>α</mml:mi>
                </mml:mrow>
                <mml:mrow>
                  <mml:mn>1</mml:mn>
                  <mml:mo>+</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msubsup>
                        <mml:mi>k</mml:mi>
                        <mml:mi>r</mml:mi>
                        <mml:mn>2</mml:mn>
                      </mml:msubsup>
                      <mml:mo>−</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mi>cos</mml:mi>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                  <mml:mi>α</mml:mi>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD8">
          <label>(7)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>F</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>γ</mml:mi>
                  <mml:mo>;</mml:mo>
                  <mml:mi>a</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>b</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mi>exp</mml:mi>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mi>b</mml:mi>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mn>1</mml:mn>
                          <mml:mo>−</mml:mo>
                          <mml:mi>cos</mml:mi>
                          <mml:mi>γ</mml:mi>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mi>a</mml:mi>
                  </mml:msup>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The statistical masking term <italic>G</italic> uses the retained implementation with constants <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> σ </mml:mi><mml:mrow><mml:mtext> sph </mml:mtext></mml:mrow></mml:msub><mml:mo> = </mml:mo><mml:mn> 0.0136 </mml:mn></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> σ </mml:mi><mml:mi> r </mml:mi></mml:msub><mml:mo> = </mml:mo><mml:mn> 0.0141 </mml:mn></mml:mrow></mml:math></inline-formula> , <italic>u</italic> = 9, and <italic>v</italic> = 1. Its full computational definition is supplied with the reproducibility code. Bounds are <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> k </mml:mi><mml:mi> b </mml:mi></mml:msub><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 50 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> k </mml:mi><mml:mi> d </mml:mi></mml:msub><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 5 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:msub><mml:mi> k </mml:mi><mml:mi> r </mml:mi></mml:msub><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0.05 </mml:mn><mml:mo> , </mml:mo><mml:mn> 50 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , <inline-formula><mml:math><mml:mrow><mml:mi> a </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mn> 0.05 </mml:mn><mml:mo> , </mml:mo><mml:mn> 25 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> , and <inline-formula><mml:math><mml:mrow><mml:mi> b </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:mo> − </mml:mo><mml:mn> 120 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0 </mml:mn></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . Bounded least squares uses the soft-L1 loss, six initializations, and at most 400 function evaluations per initialization. Residuals are weighted by <inline-formula><mml:math><mml:mrow><mml:msqrt><mml:mrow><mml:mi> max </mml:mi><mml:mrow><mml:mo> ( </mml:mo><mml:mrow><mml:mi> cos </mml:mi><mml:msub><mml:mi> θ </mml:mi><mml:mi> o </mml:mi></mml:msub><mml:mo> , </mml:mo><mml:mn> 0.05 </mml:mn></mml:mrow><mml:mo> ) </mml:mo></mml:mrow></mml:mrow></mml:msqrt></mml:mrow></mml:math></inline-formula> and scaled by the training-data standard deviation at each wavelength. The previous wavelength’s solution is one candidate initialization when available. All fits, including this initialization sequence, use only the applicable training partition.</p>
      </sec>
      <sec id="sec2dot3">
        <title>2.3. Geometry-Informed Correction</title>
        <p>A unit direction vector and the corresponding specular direction are:</p>
        <disp-formula id="FD9">
          <label>(8)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ω</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>θ</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mi>ϕ</mml:mi>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>[</mml:mo>
                    <mml:mrow>
                      <mml:mi>sin</mml:mi>
                      <mml:mi>θ</mml:mi>
                      <mml:mi>cos</mml:mi>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>sin</mml:mi>
                      <mml:mi>θ</mml:mi>
                      <mml:mi>sin</mml:mi>
                      <mml:mi>ϕ</mml:mi>
                      <mml:mo>,</mml:mo>
                      <mml:mi>cos</mml:mi>
                      <mml:mi>θ</mml:mi>
                    </mml:mrow>
                    <mml:mo>]</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD10">
          <label>(9)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>ω</mml:mi>
                <mml:mrow>
                  <mml:mtext>spec</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mn>2</mml:mn>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>n</mml:mi>
                  <mml:mo>⋅</mml:mo>
                  <mml:msub>
                    <mml:mi>ω</mml:mi>
                    <mml:mi>i</mml:mi>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mi>n</mml:mi>
              <mml:mo>−</mml:mo>
              <mml:msub>
                <mml:mi>ω</mml:mi>
                <mml:mi>i</mml:mi>
              </mml:msub>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mi>n</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>[</mml:mo>
                    <mml:mrow>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mn>0</mml:mn>
                      <mml:mo>,</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mo>]</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The specular angular deviation is:</p>
        <disp-formula id="FD11">
          <label>(10)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mtext>Δ</mml:mtext>
                <mml:mrow>
                  <mml:mtext>spec</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mtext>arccos</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>ω</mml:mi>
                    <mml:mi>o</mml:mi>
                  </mml:msub>
                  <mml:mo>⋅</mml:mo>
                  <mml:msub>
                    <mml:mi>ω</mml:mi>
                    <mml:mrow>
                      <mml:mtext>spec</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>For an in-plane reference direction <italic>φ</italic><italic><sub>g</sub></italic>, define:</p>
        <disp-formula id="FD12">
          <label>(11)</label>
          <mml:math>
            <mml:mrow>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mtable>
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>q</mml:mi>
                            <mml:mi>x</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>q</mml:mi>
                            <mml:mi>y</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                  </mml:mtable>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mtable>
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:mi>sin</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mi>o</mml:mi>
                          </mml:msub>
                          <mml:mi>cos</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>o</mml:mi>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>g</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:mi>sin</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mi>cos</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>i</mml:mi>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>g</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                    <mml:mtr>
                      <mml:mtd>
                        <mml:mrow>
                          <mml:mi>sin</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mi>o</mml:mi>
                          </mml:msub>
                          <mml:mi>sin</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>o</mml:mi>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>g</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:mi>sin</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mi>i</mml:mi>
                          </mml:msub>
                          <mml:mi>sin</mml:mi>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>i</mml:mi>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>ϕ</mml:mi>
                                <mml:mi>g</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                      </mml:mtd>
                    </mml:mtr>
                  </mml:mtable>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The retained correction functions are:</p>
        <disp-formula id="FD13">
          <label>(12)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:mtext>spec</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mtext>exp</mml:mtext>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mn>2</mml:mn>
                  </mml:mfrac>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:mfrac>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mtext>Δ</mml:mtext>
                                <mml:mrow>
                                  <mml:mtext>spec</mml:mtext>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mi>σ</mml:mi>
                                <mml:mrow>
                                  <mml:mtext>spec</mml:mtext>
                                </mml:mrow>
                              </mml:msub>
                            </mml:mrow>
                          </mml:mfrac>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msub>
                <mml:mi>σ</mml:mi>
                <mml:mrow>
                  <mml:mtext>spec</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mn>3</mml:mn>
                <mml:mo>∘</mml:mo>
              </mml:msup>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD14">
          <label>(13)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>g</mml:mi>
                <mml:mrow>
                  <mml:msub>
                    <mml:mi>ϕ</mml:mi>
                    <mml:mi>g</mml:mi>
                  </mml:msub>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mtext>exp</mml:mtext>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mn>2</mml:mn>
                  </mml:mfrac>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>q</mml:mi>
                            <mml:mi>x</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>σ</mml:mi>
                            <mml:mi>x</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msubsup>
                        </mml:mrow>
                      </mml:mfrac>
                      <mml:mo>+</mml:mo>
                      <mml:mfrac>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>q</mml:mi>
                            <mml:mi>y</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msubsup>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:msubsup>
                            <mml:mi>σ</mml:mi>
                            <mml:mi>y</mml:mi>
                            <mml:mn>2</mml:mn>
                          </mml:msubsup>
                        </mml:mrow>
                      </mml:mfrac>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>,</mml:mo>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:mtext>
                 
              </mml:mtext>
              <mml:msub>
                <mml:mi>σ</mml:mi>
                <mml:mi>x</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>σ</mml:mi>
                <mml:mi>y</mml:mi>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mn>0.10.</mml:mn>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The implementation retains <italic>φ</italic><italic><sub>g</sub></italic> = 0˚ and 90˚. Because <italic>σ</italic><italic><sub>x</sub></italic> = <italic>σ</italic><italic><sub>y</sub></italic>, these two basis functions are identical under rotation. They provide a redundant, regularized correction, rather than identifying two independent structural axes or measured grid-line directions. Their coefficients are estimated from training residuals, with <inline-formula><mml:math><mml:mrow><mml:mi> g </mml:mi><mml:mo> = </mml:mo><mml:msup><mml:mrow><mml:mrow><mml:mo> [ </mml:mo><mml:mrow><mml:msub><mml:mi> g </mml:mi><mml:mrow><mml:mtext> spec </mml:mtext></mml:mrow></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> g </mml:mi><mml:mn> 0 </mml:mn></mml:msub><mml:mo> , </mml:mo><mml:msub><mml:mi> g </mml:mi><mml:mrow><mml:mn> 90 </mml:mn></mml:mrow></mml:msub></mml:mrow><mml:mo> ] </mml:mo></mml:mrow></mml:mrow><mml:mtext> T </mml:mtext></mml:msup></mml:mrow></mml:math></inline-formula> and training design matrix <italic><bold>B</bold></italic>:</p>
        <disp-formula id="FD15">
          <label>(14)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>c</mml:mi>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>λ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:msup>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:msup>
                        <mml:mi>B</mml:mi>
                        <mml:mtext>T</mml:mtext>
                      </mml:msup>
                      <mml:mi>B</mml:mi>
                      <mml:mo>+</mml:mo>
                      <mml:msup>
                        <mml:mrow>
                          <mml:mn>10</mml:mn>
                        </mml:mrow>
                        <mml:mrow>
                          <mml:mo>−</mml:mo>
                          <mml:mn>7</mml:mn>
                        </mml:mrow>
                      </mml:msup>
                      <mml:mi>I</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:mn>1</mml:mn>
                </mml:mrow>
              </mml:msup>
              <mml:msup>
                <mml:mi>B</mml:mi>
                <mml:mtext>T</mml:mtext>
              </mml:msup>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mi>y</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>λ</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>−</mml:mo>
                  <mml:msub>
                    <mml:mi>f</mml:mi>
                    <mml:mi>Z</mml:mi>
                  </mml:msub>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>λ</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The resulting anchor is:</p>
        <disp-formula id="FD16">
          <label>(15)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>f</mml:mi>
                <mml:mrow>
                  <mml:mtext>phys</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mi>λ</mml:mi>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mtext>max</mml:mtext>
              <mml:mrow>
                <mml:mo>{</mml:mo>
                <mml:mrow>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mn>10</mml:mn>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:mo>−</mml:mo>
                      <mml:mn>10</mml:mn>
                    </mml:mrow>
                  </mml:msup>
                  <mml:mo>,</mml:mo>
                  <mml:msub>
                    <mml:mi>f</mml:mi>
                    <mml:mi>Z</mml:mi>
                  </mml:msub>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>λ</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mo>+</mml:mo>
                  <mml:msup>
                    <mml:mi>g</mml:mi>
                    <mml:mtext>T</mml:mtext>
                  </mml:msup>
                  <mml:mi>c</mml:mi>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mi>λ</mml:mi>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>}</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The subscript phys is retained as a model label. Positivity and explicit geometric terms do not establish energy conservation, reciprocity, or a uniquely identified optical mechanism.</p>
      </sec>
      <sec id="sec2dot4">
        <title>2.4. ExtraTrees Branches and Training-Only Fusion Selection</title>
        <p>Both regressors use [<italic>x</italic>, <italic>z</italic>, <italic>y</italic>] as input and predict a 342-component vector. Input standardization is fitted on training configurations. Each regressor has 900 trees, minimum leaf size 2, and max_features = 1.0. Tree seeds equal the applicable fit seed plus 17 and plus 29. The same architecture and fitting settings are used throughout; the server executes 16 independent outer jobs concurrently with one computational thread per job.</p>
        <p>The ratio branch learns the logarithmic residual:</p>
        <disp-formula id="FD17">
          <label>(16)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mi>r</mml:mi>
                <mml:mrow>
                  <mml:mtext>ratio</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mtext>log</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mi>y</mml:mi>
                    <mml:mo>/</mml:mo>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mi>f</mml:mi>
                        <mml:mrow>
                          <mml:mtext>phys</mml:mtext>
                        </mml:mrow>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mrow>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Its reconstruction uses a scale <italic>η</italic>:</p>
        <disp-formula id="FD18">
          <label>(17)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mtext>ratio</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:msub>
                <mml:mi>f</mml:mi>
                <mml:mrow>
                  <mml:mtext>phys</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>⊙</mml:mo>
              <mml:mtext>exp</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>η</mml:mi>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>r</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mtext>ratio</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The direct branch learns:</p>
        <disp-formula id="FD19">
          <label>(18)</label>
          <mml:math>
            <mml:mrow>
              <mml:mi>ℓ</mml:mi>
              <mml:mo>=</mml:mo>
              <mml:mi>log</mml:mi>
              <mml:mi>y</mml:mi>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>and its anchored reconstruction is:</p>
        <disp-formula id="FD20">
          <label>(19)</label>
          <mml:math>
            <mml:mrow>
              <mml:msub>
                <mml:mover accent="true">
                  <mml:mi>y</mml:mi>
                  <mml:mo>^</mml:mo>
                </mml:mover>
                <mml:mrow>
                  <mml:mtext>direct</mml:mtext>
                </mml:mrow>
              </mml:msub>
              <mml:mo>=</mml:mo>
              <mml:mtext>exp</mml:mtext>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>1</mml:mn>
                      <mml:mo>−</mml:mo>
                      <mml:mi>η</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mi>log</mml:mi>
                  <mml:msub>
                    <mml:mi>f</mml:mi>
                    <mml:mrow>
                      <mml:mtext>phys</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:mi>η</mml:mi>
                  <mml:mover accent="true">
                    <mml:mi>ℓ</mml:mi>
                    <mml:mo>^</mml:mo>
                  </mml:mover>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The two reconstructions are fused using ratio-branch weight <italic>w</italic>:</p>
        <disp-formula id="FD21">
          <label>(20)</label>
          <mml:math>
            <mml:mrow>
              <mml:mover accent="true">
                <mml:mi>y</mml:mi>
                <mml:mo>^</mml:mo>
              </mml:mover>
              <mml:mo>=</mml:mo>
              <mml:mtext>exp</mml:mtext>
              <mml:mrow>
                <mml:mo>[</mml:mo>
                <mml:mrow>
                  <mml:mi>w</mml:mi>
                  <mml:mi>log</mml:mi>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>y</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mtext>ratio</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                  <mml:mo>+</mml:mo>
                  <mml:mrow>
                    <mml:mo>(</mml:mo>
                    <mml:mrow>
                      <mml:mn>1</mml:mn>
                      <mml:mo>−</mml:mo>
                      <mml:mi>w</mml:mi>
                    </mml:mrow>
                    <mml:mo>)</mml:mo>
                  </mml:mrow>
                  <mml:mi>log</mml:mi>
                  <mml:msub>
                    <mml:mover accent="true">
                      <mml:mi>y</mml:mi>
                      <mml:mo>^</mml:mo>
                    </mml:mover>
                    <mml:mrow>
                      <mml:mtext>direct</mml:mtext>
                    </mml:mrow>
                  </mml:msub>
                </mml:mrow>
                <mml:mo>]</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <fig id="fig2">
          <label>Figure 2</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId74.jpeg?20261020024222" />
        </fig>
        <p><bold>Figure 2.</bold> Nested evaluation workflow. Only inner-validation predictions select the reconstruction scale and fusion weight. Outer test targets are supplied to scoring after model fitting and selection.</p>
        <p>All divisions, logarithms, and exponentials are elementwise; positive values are clipped below at 10<sup>−1</sup><sup>0</sup>. We use <italic>η</italic> for reconstruction scale to distinguish it from the half-vector angle <italic>α</italic>. The two branches share <italic>η</italic>, preserving the structure of the earlier 1.05/1.05 formulation. For every outer split, three inner folds evaluate <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> η </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 0.95 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1.00 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1.05 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1.10 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> and <inline-formula><mml:math display="inline"><mml:mrow><mml:mi> w </mml:mi><mml:mo> ∈ </mml:mo><mml:mrow><mml:mo> { </mml:mo><mml:mrow><mml:mn> 0 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0.25 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0.50 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0.65 </mml:mn><mml:mo> , </mml:mo><mml:mn> 0.75 </mml:mn><mml:mo> , </mml:mo><mml:mn> 1.00 </mml:mn></mml:mrow><mml:mo> } </mml:mo></mml:mrow></mml:mrow></mml:math></inline-formula> . The pair minimizing pooled inner-validation RMSE in linear BRDF units is selected. Pooling sums squared errors over all validation wavelengths and configurations before taking the square root. Ties favor <italic>η</italic> nearest 1, then <italic>w</italic> nearest 0.5, followed by ascending <italic>η</italic> and <italic>w</italic>.</p>
        <p>The five-parameter fits, correction coefficients, input scaler, and both regressors are fitted afresh inside each inner training fold. After selection, the complete pipeline is refitted on the outer training data and evaluated on the untouched outer test data. <xref ref-type="fig" rid="fig2">Figure 2</xref> summarizes the separation. The historical values <italic>η</italic> = 1.05 and <italic>w</italic> = 0.65 are retained only as a labeled comparison. Their original selection history does not establish independence from this dataset. The candidate grid was frozen before the new outer results were generated; it was not expanded or reselected using those results.</p>
      </sec>
      <sec id="sec2dot5">
        <title>2.5. Comparison Methods</title>
        <p>Eight variants use identical outer partitions: the five-parameter baseline; the geometry-corrected anchor; the ratio branch with <italic>w</italic> = 1; the anchored direct branch with <italic>w</italic> = 0; equal-weight fusion with <italic>w</italic> = 0.5; nested fusion with <italic>η</italic> and <italic>w</italic> selected jointly; historical fixed fusion with <italic>η</italic> = 1.05 and <italic>w</italic> = 0.65; and pure ExtraTrees predicting the direct log-spectrum. For the ratio, anchored-direct, and equal-fusion variants, <italic>η</italic> is independently selected from the same inner folds with their respective <italic>w</italic> fixed. Pure ExtraTrees is obtained at <italic>η</italic> = 1 and <italic>w</italic> = 0, where the anchor cancels exactly. It uses the same fitted direct-log regressor, so it supplies a controlled anchor-free comparison. The earlier capped-ratio variant is omitted from the revised comparison set, which instead emphasizes explicit branch controls and the historical fixed configuration.</p>
      </sec>
      <sec id="sec2dot6">
        <title>2.6. Evaluation Design and Metrics</title>
        <p>The primary evaluation comprises 100 random splits with seeds 42 - 141 and a test fraction of 0.15 applied to the 104 physical groups. Each split holds out 16 physical groups, corresponding to 16 - 32 labeled configurations because normal-view groups contain five spectra. The observed test counts are 16, 20, 24, 28, and 32 in 51, 36, 11, 1, and 1 splits, respectively; training counts range from 104 to 88. Inner validation uses three shuffled physical-group folds. All wavelengths of a configuration and all physically equivalent normal-view labels remain on the same side at both levels. These random splits assess within-grid interpolation and can place neighboring geometries in training and test sets.</p>
        <p>For angularly blocked evaluation, each incidence zenith <italic>z</italic> = 30˚, 40˚, 50˚, or 60˚ is held out in turn: 90 configurations train and 30 test. Inner validation leaves out one of the three remaining incidence layers at a time. The 40˚ and 50˚ tests interpolate between training incidence levels; the 30˚ and 60˚ tests lie outside the incidence range of their respective training folds. The azimuth and observation-elevation grids remain shared, so this is an incidence-block test, not a test of an entirely new angular domain.</p>
        <p>Two additional designs examine the high-reflectance configuration. First, paired restricted-data splits remove it from whichever side contains it in each full-data partition, then repeat inner selection and outer fitting on the remaining 119 configurations. Separately, full-data predictions are rescored after omitting only this configuration from the test metric; that diagnostic makes no refit. Second, its predictions are reported for all 15 occasions on which it is an outer test case in the primary random protocol. A supplementary leave-one-configuration-out run trains on all other 119 spectra and tests only this configuration, using the same nested selection rule. This larger training set is identified explicitly and is not substituted for the matched-protocol result.</p>
        <p>For N test wavelength-configuration pairs, global <italic>R</italic><sup>2</sup> and RMSE are:</p>
        <disp-formula id="FD22">
          <label>(21)</label>
          <mml:math>
            <mml:mrow>
              <mml:msup>
                <mml:mi>R</mml:mi>
                <mml:mn>2</mml:mn>
              </mml:msup>
              <mml:mo>=</mml:mo>
              <mml:mn>1</mml:mn>
              <mml:mo>−</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>N</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mover accent="true">
                              <mml:mi>y</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mstyle mathsize="140%" displaystyle="true">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>N</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:mover accent="true">
                            <mml:mi>y</mml:mi>
                            <mml:mo>¯</mml:mo>
                          </mml:mover>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>,</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <disp-formula id="FD23">
          <label>(22)</label>
          <mml:math>
            <mml:mrow>
              <mml:mtext>RMSE</mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:msqrt>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mn>1</mml:mn>
                    <mml:mi>N</mml:mi>
                  </mml:mfrac>
                  <mml:munderover>
                    <mml:mstyle displaystyle="true" mathsize="140%">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>N</mml:mi>
                  </mml:munderover>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>(</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                          <mml:mo>−</mml:mo>
                          <mml:msub>
                            <mml:mover accent="true">
                              <mml:mi>y</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>)</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
              </mml:msqrt>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>The cosine-weighted normalized squared error is:</p>
        <disp-formula id="FD24">
          <label>(23)</label>
          <mml:math>
            <mml:mrow>
              <mml:mtext>CW-NSE</mml:mtext>
              <mml:mo>=</mml:mo>
              <mml:mn>100</mml:mn>
              <mml:mtext>%</mml:mtext>
              <mml:mo>×</mml:mo>
              <mml:mfrac>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mstyle displaystyle="true" mathsize="140%">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>N</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>[</mml:mo>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>(</mml:mo>
                            <mml:mrow>
                              <mml:msub>
                                <mml:mover accent="true">
                                  <mml:mi>y</mml:mi>
                                  <mml:mo>^</mml:mo>
                                </mml:mover>
                                <mml:mi>j</mml:mi>
                              </mml:msub>
                              <mml:mo>−</mml:mo>
                              <mml:msub>
                                <mml:mi>y</mml:mi>
                                <mml:mi>j</mml:mi>
                              </mml:msub>
                            </mml:mrow>
                            <mml:mo>)</mml:mo>
                          </mml:mrow>
                          <mml:mi>cos</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mrow>
                              <mml:mi>o</mml:mi>
                              <mml:mo>,</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>]</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
                <mml:mrow>
                  <mml:msubsup>
                    <mml:mstyle displaystyle="true" mathsize="140%">
                      <mml:mo>∑</mml:mo>
                    </mml:mstyle>
                    <mml:mrow>
                      <mml:mi>j</mml:mi>
                      <mml:mo>=</mml:mo>
                      <mml:mn>1</mml:mn>
                    </mml:mrow>
                    <mml:mi>N</mml:mi>
                  </mml:msubsup>
                  <mml:msup>
                    <mml:mrow>
                      <mml:mrow>
                        <mml:mo>[</mml:mo>
                        <mml:mrow>
                          <mml:msub>
                            <mml:mi>y</mml:mi>
                            <mml:mi>j</mml:mi>
                          </mml:msub>
                          <mml:mi>cos</mml:mi>
                          <mml:msub>
                            <mml:mi>θ</mml:mi>
                            <mml:mrow>
                              <mml:mi>o</mml:mi>
                              <mml:mo>,</mml:mo>
                              <mml:mi>j</mml:mi>
                            </mml:mrow>
                          </mml:msub>
                        </mml:mrow>
                        <mml:mo>]</mml:mo>
                      </mml:mrow>
                    </mml:mrow>
                    <mml:mn>2</mml:mn>
                  </mml:msup>
                </mml:mrow>
              </mml:mfrac>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>Equation (23) is a normalized squared pointwise error with effective cos<sup>2</sup> weighting. It contains neither a square root nor solid-angle quadrature and must not be interpreted as hemispherical reflected-energy error. Its numerical definition is preserved while its name and interpretation are corrected. Spectral angle mapper (SAM) compares the complete spectra of individual configurations [<xref ref-type="bibr" rid="B36">36</xref>][<xref ref-type="bibr" rid="B37">37</xref>]:</p>
        <disp-formula id="FD25">
          <label>(24)</label>
          <mml:math>
            <mml:mrow>
              <mml:mtext>SAM</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mi>y</mml:mi>
                  <mml:mo>,</mml:mo>
                  <mml:mover accent="true">
                    <mml:mi>y</mml:mi>
                    <mml:mo>^</mml:mo>
                  </mml:mover>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>=</mml:mo>
              <mml:mtext>arccos</mml:mtext>
              <mml:mrow>
                <mml:mo>(</mml:mo>
                <mml:mrow>
                  <mml:mfrac>
                    <mml:mrow>
                      <mml:msup>
                        <mml:mi>y</mml:mi>
                        <mml:mtext>T</mml:mtext>
                      </mml:msup>
                      <mml:mover accent="true">
                        <mml:mi>y</mml:mi>
                        <mml:mo>^</mml:mo>
                      </mml:mover>
                    </mml:mrow>
                    <mml:mrow>
                      <mml:msub>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>‖</mml:mo>
                            <mml:mi>y</mml:mi>
                            <mml:mo>‖</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                      <mml:msub>
                        <mml:mrow>
                          <mml:mrow>
                            <mml:mo>‖</mml:mo>
                            <mml:mover accent="true">
                              <mml:mi>y</mml:mi>
                              <mml:mo>^</mml:mo>
                            </mml:mover>
                            <mml:mo>‖</mml:mo>
                          </mml:mrow>
                        </mml:mrow>
                        <mml:mn>2</mml:mn>
                      </mml:msub>
                    </mml:mrow>
                  </mml:mfrac>
                </mml:mrow>
                <mml:mo>)</mml:mo>
              </mml:mrow>
              <mml:mo>.</mml:mo>
            </mml:mrow>
          </mml:math>
        </disp-formula>
        <p>SAM is converted to degrees and averaged across test configurations. Global metrics aggregate all test wavelength-configuration pairs within a split; reported protocol means then weight splits equally. Signed relative mean bias is 100 times mean (prediction-measurement) divided by mean (measurement). All raw spectra retain equal weight in the pointwise metrics, including the retained normal-view labels. Split distributions are descriptive sensitivity summaries: repeated splits overlap, and neither their spread nor their count represents independent measurement replication. All 205 outer jobs use the existing specimen dataset, making this a retrospective internal reevaluation rather than validation on newly acquired independent data.</p>
      </sec>
    </sec>
    <sec id="sec3">
      <title>3. Results</title>
      <sec id="sec3dot1">
        <title>3.1. Full-Dataset Within-Grid Interpolation</title>
        <p><bold>Table 1</bold> reports all eight variants using the complete 120-configuration dataset. The primary nested fusion model achieves mean global <italic>R</italic><sup>2</sup> of 0.7932, RMSE of 0.002421 sr<sup>−1</sup>, CW-NSE of 4.2545%, and SAM of 2.1984˚. Relative to the five-parameter baseline, the mean amplitude-sensitive errors decrease substantially. Pure ExtraTrees has lower SAM, showing that improvements in amplitude and spectral direction are distinct objectives.</p>
        <p><bold>Table 1.</bold> Mean test metrics across 100 grouped random splits of all 120 configurations.</p>
        <table-wrap id="tbl1">
          <label>Table 1</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Model</bold>
                </td>
                <td>
                  <italic>
                    <bold>R</bold>
                  </italic>
                  <bold>
                    <sup>2</sup>
                  </bold>
                </td>
                <td>
                  <bold>RMSE (sr</bold>
                  <sup>−1</sup>
                  <bold>)</bold>
                </td>
                <td>
                  <bold>CW-NSE (%)</bold>
                </td>
                <td>
                  <bold>SAM (</bold>
                  <bold>˚</bold>
                  <bold>)</bold>
                </td>
              </tr>
              <tr>
                <td>Five-parameter</td>
                <td>−0.0389</td>
                <td>0.005568</td>
                <td>23.0735</td>
                <td>5.8621</td>
              </tr>
              <tr>
                <td>Geometry-corrected</td>
                <td>−0.0022</td>
                <td>0.005405</td>
                <td>21.6780</td>
                <td>5.6710</td>
              </tr>
              <tr>
                <td>Ratio branch (tuned)</td>
                <td>0.6568</td>
                <td>0.003021</td>
                <td>9.1964</td>
                <td>3.0197</td>
              </tr>
              <tr>
                <td>Direct anchored (tuned)</td>
                <td>0.6571</td>
                <td>0.003195</td>
                <td>8.9503</td>
                <td>1.2002</td>
              </tr>
              <tr>
                <td>Equal fusion (tuned)</td>
                <td>0.7904</td>
                <td>0.002440</td>
                <td>4.4555</td>
                <td>1.7276</td>
              </tr>
              <tr>
                <td>Nested fusion (primary)</td>
                <td>0.7932</td>
                <td>0.002421</td>
                <td>4.2545</td>
                <td>2.1984</td>
              </tr>
              <tr>
                <td>Historical fixed fusion</td>
                <td>0.8063</td>
                <td>0.002315</td>
                <td>3.8223</td>
                <td>2.0881</td>
              </tr>
              <tr>
                <td>Pure ExtraTrees</td>
                <td>0.6732</td>
                <td>0.003113</td>
                <td>8.4699</td>
                <td>1.1300</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <fig id="fig3">
          <label>Figure 3</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId87.jpeg?20261020024223" />
        </fig>
        <p><bold>Figure 3.</bold> Distributions across the 100 full-data grouped random splits. Boxes show the interquartile range and median; whiskers extend to observations within 1.5 interquartile ranges and points show the remaining observations. “Nested” denotes training-only fusion selection; “Fixed” denotes the historical configuration. These distributions describe partition sensitivity, not measurement uncertainty.</p>
        <p>The historical fixed configuration has slightly better mean <italic>R</italic><sup>2</sup>, RMSE, and CW-NSE than nested fusion in these random splits. This comparison does not establish an independently selected optimum because those fixed values arose during the earlier development on the same dataset. The primary result remains the training-only selection procedure. <xref ref-type="fig" rid="fig3">Figure 3</xref> shows the observed split distributions. Nested-fusion <italic>R</italic><sup>2</sup> has median 0.8259, interquartile range 0.7414 - 0.8593, and range 0.4227 - 0.9511. Its RMSE ranges from 0.000925 to 0.005187 sr<sup>−1</sup>, indicating substantial dependence on which geometries are withheld.</p>
      </sec>
      <sec id="sec3dot2">
        <title>3.2. Fusion and Selection Sensitivity</title>
        <p>Geometry correction alone raises mean <italic>R</italic><sup>2</sup> from −0.0389 to −0.0022. The larger gain accompanies ExtraTrees prediction: ratio and anchored-direct branches achieve mean <italic>R</italic><sup>2</sup> of 0.6568 and 0.6571, respectively, while equal fusion and nested fusion achieve 0.7904 and 0.7932. The pure direct-log ExtraTrees baseline achieves 0.6732. Thus, combining the two representations improves mean amplitude metrics over either branch alone in this evaluation, although nested fusion does not minimize SAM or outperform every comparison on every metric.</p>
        <p>Across the 100 full-data random splits, inner validation selects <italic>η</italic> = 0.95, 1.00, 1.05, and 1.10 in 1, 4, 13, and 82 cases. Selected w values are 0.50, 0.65, 0.75, and 1.00 in 16, 30, 45, and 9 cases. Frequent selection of the upper <italic>η</italic> boundary indicates sensitivity to the bounded search; it does not show that 1.10 is a global optimum. The frozen search is retained to preserve the interpretation of the outer evaluation.</p>
      </sec>
      <sec id="sec3dot3">
        <title>3.3. Incidence-Angle Holdouts</title>
        <p><bold>Table 2</bold> reports nested fusion for the four angular blocks. The four-fold mean <italic>R</italic><sup>2</sup> is 0.8378, RMSE is 0.002176 sr<sup>−1</sup>, CW-NSE is 3.5922%, and SAM is 1.6736˚. The 60˚ block has the largest RMSE and SAM. <xref ref-type="fig" rid="fig4">Figure 4</xref> compares the amplitude metrics with the five-parameter and pure ExtraTrees baselines; their four-fold mean <italic>R</italic><sup>2</sup> values are −0.0038 and 0.7239, respectively.</p>
        <p><bold>Table 2.</bold> Nested fusion with each incidence zenith layer held out. Each fold uses 90 training and 30 test configurations.</p>
        <table-wrap id="tbl2">
          <label>Table 2</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Held-out</bold>
                  <italic>
                    <bold>z</bold>
                  </italic>
                </td>
                <td>
                  <italic>
                    <bold>R</bold>
                  </italic>
                  <bold>
                    <sup>2</sup>
                  </bold>
                </td>
                <td>
                  <bold>RMSE (sr</bold>
                  <sup>−1</sup>
                  <bold>)</bold>
                </td>
                <td>
                  <bold>CW-NSE (%)</bold>
                </td>
                <td>
                  <bold>SAM (</bold>
                  <bold>˚</bold>
                  <bold>)</bold>
                </td>
              </tr>
              <tr>
                <td>30˚</td>
                <td>0.8510</td>
                <td>0.002404</td>
                <td>2.8639</td>
                <td>0.9954</td>
              </tr>
              <tr>
                <td>40˚</td>
                <td>0.8727</td>
                <td>0.002037</td>
                <td>2.4360</td>
                <td>1.1257</td>
              </tr>
              <tr>
                <td>50˚</td>
                <td>0.8776</td>
                <td>0.001574</td>
                <td>2.0852</td>
                <td>1.0910</td>
              </tr>
              <tr>
                <td>60˚</td>
                <td>0.7498</td>
                <td>0.002687</td>
                <td>6.9837</td>
                <td>3.4822</td>
              </tr>
              <tr>
                <td>Four-fold mean</td>
                <td>0.8378</td>
                <td>0.002176</td>
                <td>3.5922</td>
                <td>1.6736</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p>Inner validation selects <italic>w</italic> = 0.5 in every blocked fold, and nested and equal-fusion predictions coincide in these four tests. The historical fixed fusion gives mean <italic>R</italic><sup>2</sup> of 0.8269 and RMSE of 0.002252 sr<sup>−1</sup>. The higher blocked mean <italic>R</italic><sup>2</sup> than the random-split mean does not imply that blocked prediction is generally easier: the test composition, target variance, and training geometry differ. The result supports the specific incidence-layer transfers evaluated here, including two boundary-layer tests, rather than unrestricted angular extrapolation.</p>
        <fig id="fig4">
          <label>Figure 4</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId88.jpeg?20261020024224" />
        </fig>
        <p><bold>Figure 4.</bold> Incidence-angle holdout results for the five-parameter model, pure ExtraTrees, and nested fusion. Each bar represents one outer fold; the remaining incidence levels alone supply training and inner validation.</p>
      </sec>
      <sec id="sec3dot4">
        <title>3.4. Sensitivity to the High-Reflectance Configuration</title>
        <p><bold>Table 3</bold> separates the primary full-data result, a scoring-only diagnostic, and the paired 119-configuration refit. Removing the high-reflectance test spectrum from scoring lowers mean RMSE to 0.002296 sr<sup>−1</sup>. Removing it from the dataset and repeating selection and fitting lowers mean RMSE further to 0.002268 sr<sup>−1</sup>, with SAM of 1.2468˚. These are different operations and cannot be treated as interchangeable estimates. Changes in <italic>R</italic><sup>2</sup> are not necessarily monotonic because removal also changes the test-set variance used in its denominator. In the restricted-data refits, equal fusion has mean <italic>R</italic><sup>2</sup> of 0.8065 and RMSE of 0.002205 sr<sup>−1</sup>, again precluding a claim that free weight selection wins universally.</p>
        <p><bold>Table 3.</bold> Nested-fusion sensitivity analysis, averaged over 100 paired random partitions.</p>
        <table-wrap id="tbl3">
          <label>Table 3</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Analysis</bold>
                </td>
                <td>
                  <italic>
                    <bold>R</bold>
                  </italic>
                  <bold>
                    <sup>2</sup>
                  </bold>
                </td>
                <td>
                  <bold>RMSE (sr</bold>
                  <sup>−1</sup>
                  <bold>)</bold>
                </td>
                <td>
                  <bold>CW-NSE (%)</bold>
                </td>
                <td>
                  <bold>SAM (</bold>
                  <bold>˚</bold>
                  <bold>)</bold>
                </td>
              </tr>
              <tr>
                <td>Full 120 (primary)</td>
                <td>0.7932</td>
                <td>0.002421</td>
                <td>4.2545</td>
                <td>2.1984</td>
              </tr>
              <tr>
                <td>Full fit; peak omitted from scoring</td>
                <td>0.7909</td>
                <td>0.002296</td>
                <td>3.9799</td>
                <td>2.1817</td>
              </tr>
              <tr>
                <td>Restricted 119; retuned and refitted</td>
                <td>0.7939</td>
                <td>0.002268</td>
                <td>3.9459</td>
                <td>1.2468</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <p><xref ref-type="fig" rid="fig5">Figure 5</xref> summarizes each configuration’s mean RMSE over its actual test occurrences. The high-reflectance configuration has the second-highest mean RMSE among the 120 labeled configurations; the largest occurs at (<italic>x</italic>, <italic>z</italic>, <italic>y</italic>) = (150˚, 60˚, 90˚), at 0.008657 sr<sup>−1</sup>. Thus, a large absolute error is not unique to the reflectance peak. Higher-magnitude configurations can contribute strongly to squared-error aggregates, but magnitude alone does not identify the physical cause of a local response. This diagnostic is descriptive and retains all configurations in the primary metrics.</p>
        <fig id="fig5">
          <label>Figure 5</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId89.jpeg?20261020024224" />
        </fig>
        <p><bold>Figure 5.</bold> Configuration-level error for nested fusion in the full-data random protocol. (a) Mean held-out RMSE ranked across 120 labeled configurations. (b) The same errors against each configuration’s mean measured BRDF. The red point is (<italic>x</italic>, <italic>z</italic>, <italic>y</italic>) = (30˚, 30˚, 60˚). Each point averages its own test occurrences; occurrence counts are supplied with the figure data.</p>
      </sec>
      <sec id="sec3dot5">
        <title>3.5. Explicit Held-Out Prediction of the High-Reflectance Configuration</title>
        <p>The configuration (<italic>x</italic>, <italic>z</italic>, <italic>y</italic>) = (30˚, 30˚, 60˚) appears in 15 test partitions of the primary random protocol. Its mean RMSE is 0.008614 sr<sup>−1</sup>, with a range of 0.003295 - 0.015678 sr<sup>−1</sup>; mean CW-NSE is 8.0652% and mean SAM is 3.1826˚ (<bold>Table 4</bold>). Relative mean bias ranges from −41.48% to +47.18%, despite its average being −6.49%. Thus, a modest average signed bias conceals substantial variation between training partitions. <xref ref-type="fig" rid="fig6">Figure 6(a)</xref> shows all 15 predictions and their range, which is not a confidence interval.</p>
        <p>The supplementary 119-training fit selects <italic>η</italic> = 1.05 and <italic>w</italic> = 0.65. Its RMSE is 0.002514 sr<sup>−1</sup>, compared with 0.023350 sr<sup>−1</sup> for the five-parameter baseline and 0.021013 sr<sup>−1</sup> for pure ExtraTrees. Its relative mean bias is −1.94%, but SAM is 4.2392˚. <xref ref-type="fig" rid="fig6">Figure 6(b)</xref> shows that the prediction contains a localized spectral discontinuity near 704 nm that is absent from the measured curve. Wavelength-wise anchor fitting does not enforce spectral continuity, and this fitted artifact is not interpreted as a material feature. The favorable amplitude result with 119 training configurations does not resolve the variability observed under the smaller matched-protocol training sets.</p>
        <p><bold>Table 4.</bold> Held-out peak-configuration metrics. The first row averages 15 matched-protocol test cases; the second is one supplementary fit with all other 119 configurations for training.</p>
        <table-wrap id="tbl4">
          <label>Table 4</label>
          <table>
            <tbody>
              <tr>
                <td>
                  <bold>Peak test design</bold>
                </td>
                <td>
                  <italic>
                    <bold>R</bold>
                  </italic>
                  <bold>
                    <sup>2</sup>
                  </bold>
                </td>
                <td>
                  <bold>RMSE (sr</bold>
                  <bold>
                    <sup>−1</sup>
                  </bold>
                  <bold>)</bold>
                </td>
                <td>
                  <bold>CW-NSE (%)</bold>
                </td>
                <td>
                  <bold>SAM (</bold>
                  <bold>˚</bold>
                  <bold>)</bold>
                </td>
                <td>
                  <bold>Mean bias (%)</bold>
                </td>
              </tr>
              <tr>
                <td>Matched random (15 cases)</td>
                <td>−14.4059</td>
                <td>0.008614</td>
                <td>8.0652</td>
                <td>3.1826</td>
                <td>−6.49</td>
              </tr>
              <tr>
                <td>119-training holdout (1 case)</td>
                <td>−0.1032</td>
                <td>0.002514</td>
                <td>0.5775</td>
                <td>4.2392</td>
                <td>−1.94</td>
              </tr>
            </tbody>
          </table>
        </table-wrap>
        <fig id="fig6">
          <label>Figure 6</label>
          <graphic xlink:href="https://html.scirp.org/file/1724933-rId90.jpeg?20261020024225" />
        </fig>
        <p><bold>Figure 6.</bold> Explicit held-out predictions for (<italic>x</italic>, <italic>z</italic>, <italic>y</italic>) = (30˚, 30˚, 60˚). (a) All 15 primary-protocol test predictions, their pointwise range, their arithmetic mean, and the measured spectrum. (b) A separate leave-one-configuration-out test using all other 119 spectra for training. The two panels use different training-set sizes and therefore answer different questions.</p>
        <p>For this single spectrum, mean random-protocol curve <italic>R</italic><sup>2</sup> is −14.4059 and the supplementary fit gives −0.1032. Within-spectrum variation is small relative to the dataset’s between-configuration variation, so curve <italic>R</italic><sup>2</sup> and global <italic>R</italic><sup>2</sup> are not comparable. The negative curve values nevertheless document residual error and are retained alongside RMSE, CW-NSE, SAM, and signed bias. Sparse angular sampling still prevents determination of the local angular width or gradient of the high-reflectance feature.</p>
      </sec>
    </sec>
    <sec id="sec4">
      <title>4. Discussion</title>
      <p>The full-data reevaluation supports improved aggregate BRDF-amplitude prediction from the combined representations relative to the five-parameter model and pure ExtraTrees. It also narrows the interpretation of that improvement. Nested fusion is the primary procedure because its scale and weight are selected without outer test targets; historical fixed fusion is a transparent development-era comparator. Differences between metrics and between partition designs show that a single preferred weight cannot be inferred as a general property of the specimen.</p>
      <p>The geometry correction supplies a positive semi-empirical anchor, but its equal-width in-plane functions do not identify anisotropy, and positivity does not enforce physical conservation laws. The glass covering and actual solar cells establish the broad specimen class. Unknown cell technology, glass thickness or coating, and fine geometry prevent attribution of the isolated response to a particular interface, diffraction process, or grid structure. The current angle grid does not resolve that response locally. Prediction on another specimen, illumination spectrum, spectral band, or azimuthal domain has not been demonstrated.</p>
      <p>Measurement and statistical uncertainties must also remain separate. The reported BRDF scale assumes nominal 99% reference reflectance and a Lambertian-reference conversion. Manufacturer specifications cannot recover the missing individual calibration spectrum. No repeated-acquisition series or complete batch-level uncertainty budget is available; train/test variation measures sensitivity of the fitted predictor to the sampled data rather than instrument precision. Computational reevaluation cannot replace these missing physical measurements. Repeated angular measurements, an individual reference calibration, and denser local angular sampling would be needed for stronger metrological claims.</p>
      <p>The nested design prevents outer test targets from entering the new fitting and selection steps. It does not undo the prior use of the same dataset to develop the architecture and select retained settings. Moreover, the <italic>η</italic> search frequently reaches its upper boundary, and the wavelength-wise anchor can introduce discontinuities. Future evaluation should freeze any revised search or spectral regularization before testing it on independently acquired data. These limitations favor reporting the present results as retrospective internal evidence with explicit local failure analysis.</p>
    </sec>
    <sec id="sec5">
      <title>5. Conclusion</title>
      <p>A five-parameter-anchored ExtraTrees fusion model was evaluated using all 120 measured configurations of a glass-covered solar-panel model. Training-only nested selection gives mean <italic>R</italic><sup>2</sup> of 0.7932 and RMSE of 0.002421 sr<sup>−1</sup> over 100 grouped random splits; four incidence-angle holdouts give mean <italic>R</italic><sup>2</sup> of 0.8378 and RMSE of 0.002176 sr<sup>−1</sup>. The corrected CW-NSE metric is a normalized squared pointwise error and carries no reflected-energy interpretation. Explicit prediction of the high-reflectance configuration reveals substantial partition sensitivity, with mean matched-protocol RMSE of 0.008614 sr<sup>−1</sup>. The results support aggregate amplitude prediction over the evaluated geometry and wavelength range, while calibration limitations, missing repeat measurements, local angular undersampling, and spectral fitting artifacts constrain broader physical and predictive claims.</p>
    </sec>
    <sec id="sec6">
      <title>Reproducibility Materials</title>
      <p>The accompanying materials contain the input dataset, retained model implementation, frozen experiment protocol and source hashes, all outer partitions, inner candidate scores, selected parameters, test predictions, metric tables, and independent numerical-audit results. The complete run contains 100 full-data random jobs, 100 paired restricted-data jobs, four incidence-block jobs, and one peak-only job. The archived protocol records software versions and random seeds. No new physical measurements were acquired for this reevaluation.</p>
    </sec>
    <sec id="sec7">
      <title>Funding</title>
      <p>CAST Innovation Fund (KYC-XZ-XM-2025-021, Intelligent Recognition of Space-Target States Based on Snapshot Spectral Characteristics).</p>
    </sec>
  </body>
  <back>
    <ref-list>
      <title>References</title>
      <ref id="B1">
        <label>1.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Nicodemus, F.E., Richmond, J.C., Hsia, J.J., <italic>et al</italic>. (1977) Geometrical Considerations and Nomenclature for Reflectance. National Bureau of Standards.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Nicodemus, F.E.</string-name>
              <string-name>Richmond, J.C.</string-name>
              <string-name>Hsia, J.J.</string-name>
            </person-group>
            <year>1977</year>
            <article-title>Geometrical Considerations and Nomenclature for Reflectance</article-title>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B2">
        <label>2.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Torrance, K.E. and Sparrow, E.M. (1967) Theory for Off-Specular Reflection from Roughened Surfaces. <italic>Journal of the Optical Society of America</italic>, 57, 1105-1114. https://doi.org/10.1364/josa.57.001105 <pub-id pub-id-type="doi">10.1364/josa.57.001105</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1364/josa.57.001105">https://doi.org/10.1364/josa.57.001105</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Torrance, K.E.</string-name>
              <string-name>Sparrow, E.M.</string-name>
            </person-group>
            <year>1967</year>
            <article-title>Theory for Off-Specular Reflection from Roughened Surfaces</article-title>
            <source>Journal of the Optical Society of America</source>
            <volume>57</volume>
            <pub-id pub-id-type="doi">10.1364/josa.57.001105</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B3">
        <label>3.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Cook, R.L. and Torrance, K.E. (1982) A Reflectance Model for Computer Graphics. <italic>ACM Transactions on Graphics</italic>, 1, 7-24. https://doi.org/10.1145/357290.357293 <pub-id pub-id-type="doi">10.1145/357290.357293</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/357290.357293">https://doi.org/10.1145/357290.357293</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Cook, R.L.</string-name>
              <string-name>Torrance, K.E.</string-name>
            </person-group>
            <year>1982</year>
            <article-title>A Reflectance Model for Computer Graphics</article-title>
            <source>ACM Transactions on Graphics</source>
            <volume>1</volume>
            <pub-id pub-id-type="doi">10.1145/357290.357293</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B4">
        <label>4.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Ward, G.J. (1992) Measuring and Modeling Anisotropic Reflection. <italic>ACM SIGGRAPH Computer Graphics</italic>, 26, 265-272. https://doi.org/10.1145/142920.134078 <pub-id pub-id-type="doi">10.1145/142920.134078</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/142920.134078">https://doi.org/10.1145/142920.134078</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Ward, G.J.</string-name>
            </person-group>
            <year>1992</year>
            <article-title>Measuring and Modeling Anisotropic Reflection</article-title>
            <source>ACM SIGGRAPH Computer Graphics</source>
            <volume>26</volume>
            <pub-id pub-id-type="doi">10.1145/142920.134078</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B5">
        <label>5.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">He, X.D., Torrance, K.E., Sillion, F.X. and Greenberg, D.P. (1991) A Comprehensive Physical Model for Light Reflection. <italic>ACM SIGGRAPH Computer Graphics</italic>, 25, 175-186. https://doi.org/10.1145/127719.122738 <pub-id pub-id-type="doi">10.1145/127719.122738</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/127719.122738">https://doi.org/10.1145/127719.122738</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>He, X.D.</string-name>
              <string-name>Torrance, K.E.</string-name>
              <string-name>Sillion, F.X.</string-name>
              <string-name>Greenberg, D.P.</string-name>
            </person-group>
            <year>1991</year>
            <article-title>A Comprehensive Physical Model for Light Reflection</article-title>
            <source>ACM SIGGRAPH Computer Graphics</source>
            <volume>25</volume>
            <pub-id pub-id-type="doi">10.1145/127719.122738</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B6">
        <label>6.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Oren, M. and Nayar, S.K. (1994) Generalization of Lambert’s Reflectance Model. <italic>Proceedings of the</italic>21 <italic>st Annual Conference on Computer Graphics and Interactive Techniques</italic>, New York, 24-29 July 1994, 239-246. https://doi.org/10.1145/192161.192213 <pub-id pub-id-type="doi">10.1145/192161.192213</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/192161.192213">https://doi.org/10.1145/192161.192213</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Oren, M.</string-name>
              <string-name>Nayar, S.K.</string-name>
              <string-name>Techniques, N</string-name>
            </person-group>
            <year>1994</year>
            <article-title>Generalization of Lambert’s Reflectance Model</article-title>
            <source>Proceedings of the 21st Annual Conference on Computer Graphics and Interactive Techniques</source>
            <volume>24</volume>
            <pub-id pub-id-type="doi">10.1145/192161.192213</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B7">
        <label>7.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Rusinkiewicz, S.M. (1998) A New Change of Variables for Efficient BRDF Representation. In: Drettakis, G. and Max, N., Eds., <italic>Eurographics</italic>, Springer, 11-22. https://doi.org/10.1007/978-3-7091-6453-2_2 <pub-id pub-id-type="doi">10.1007/978-3-7091-6453-2_2</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/978-3-7091-6453-2_2">https://doi.org/10.1007/978-3-7091-6453-2_2</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Rusinkiewicz, S.M.</string-name>
              <string-name>Drettakis, G.</string-name>
              <string-name>Max, N.</string-name>
              <string-name>Eurographics, S</string-name>
            </person-group>
            <year>1998</year>
            <article-title>A New Change of Variables for Efficient BRDF Representation</article-title>
            <source>In: Drettakis</source>
            <volume>11</volume>
            <pub-id pub-id-type="doi">10.1007/978-3-7091-6453-2_2</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B8">
        <label>8.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Matusik, W., Pfister, H., Brand, M. and McMillan, L. (2003) A Data-Driven Reflectance Model. <italic>ACM Transactions on Graphics</italic>, 22, 759-769. https://doi.org/10.1145/882262.882343 <pub-id pub-id-type="doi">10.1145/882262.882343</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/882262.882343">https://doi.org/10.1145/882262.882343</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Matusik, W.</string-name>
              <string-name>Pfister, H.</string-name>
              <string-name>Brand, M.</string-name>
              <string-name>McMillan, L.</string-name>
            </person-group>
            <year>2003</year>
            <article-title>A Data-Driven Reflectance Model</article-title>
            <source>ACM Transactions on Graphics</source>
            <volume>22</volume>
            <pub-id pub-id-type="doi">10.1145/882262.882343</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B9">
        <label>9.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Ngan, A., Durand, F. and Matusik, W. (2005) Experimental Analysis of BRDF Models. In: Bala, K. and Dutré, P., Eds., <italic>Eurographics Symposium on Rendering</italic>, Eurographics Association, 117-126.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Ngan, A.</string-name>
              <string-name>Durand, F.</string-name>
              <string-name>Matusik, W.</string-name>
              <string-name>Bala, K.</string-name>
              <string-name>Rendering, E</string-name>
            </person-group>
            <year>2005</year>
            <article-title>Experimental Analysis of BRDF Models</article-title>
            <source>In: Bala</source>
            <volume>117</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B10">
        <label>10.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Guarnera, D., Guarnera, G.C., Ghosh, A., Denk, C. and Glencross, M. (2016) BRDF Representation and Acquisition. <italic>Computer Graphics Forum</italic>, 35, 625-650. https://doi.org/10.1111/cgf.12867 <pub-id pub-id-type="doi">10.1111/cgf.12867</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1111/cgf.12867">https://doi.org/10.1111/cgf.12867</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Guarnera, D.</string-name>
              <string-name>Guarnera, G.C.</string-name>
              <string-name>Ghosh, A.</string-name>
              <string-name>Denk, C.</string-name>
              <string-name>Glencross, M.</string-name>
            </person-group>
            <year>2016</year>
            <article-title>BRDF Representation and Acquisition</article-title>
            <source>Computer Graphics Forum</source>
            <volume>35</volume>
            <pub-id pub-id-type="doi">10.1111/cgf.12867</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B11">
        <label>11.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Hall, D. (2010) Surface Material Characterization from Multi-Band Optical Observations. <italic>Advanced Maui Optical and Space Surveillance Technologies Conference</italic>, Maui, 14-17 September 2010, 61-75.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Hall, D.</string-name>
              <string-name>Conference, M</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Surface Material Characterization from Multi-Band Optical Observations</article-title>
            <source>Advanced Maui Optical and Space Surveillance Technologies Conference</source>
            <volume>14</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B12">
        <label>12.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Zhang, H., Wu, Z., Cao, Y., <italic>et al</italic>. (2010) Measurement and Statistical Modeling of BRDF of Various Samples. <italic>Optica Applicata</italic>, 40, 197-208.</mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Zhang, H.</string-name>
              <string-name>Wu, Z.</string-name>
              <string-name>Cao, Y.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>Measurement and Statistical Modeling of BRDF of Various Samples</article-title>
            <source>Optica Applicata</source>
            <volume>40</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B13">
        <label>13.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Hou, Q., Wang, Z., Su, J. and Tan, F. (2019) Measurement of Equivalent BRDF on the Surface of Solar Panel with Periodic Structure. <italic>Coatings</italic>, 9, Article 193. https://doi.org/10.3390/coatings9030193 <pub-id pub-id-type="doi">10.3390/coatings9030193</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/coatings9030193">https://doi.org/10.3390/coatings9030193</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Hou, Q.</string-name>
              <string-name>Wang, Z.</string-name>
              <string-name>Su, J.</string-name>
              <string-name>Tan, F.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>Measurement of Equivalent BRDF on the Surface of Solar Panel with Periodic Structure</article-title>
            <source>Coatings</source>
            <volume>9</volume>
            <elocation-id>193</elocation-id>
            <pub-id pub-id-type="doi">10.3390/coatings9030193</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B14">
        <label>14.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Small, T.V., Butler, S.D. and Marciniak, M.A. (2021) Solar Cell BRDF Measurement and Modeling with Out-of-Plane Data. <italic>Optics Express</italic>, 29, 35501-35515. https://doi.org/10.1364/oe.440190 <pub-id pub-id-type="doi">10.1364/oe.440190</pub-id><pub-id pub-id-type="pmid">34808982</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1364/oe.440190">https://doi.org/10.1364/oe.440190</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Small, T.V.</string-name>
              <string-name>Butler, S.D.</string-name>
              <string-name>Marciniak, M.A.</string-name>
            </person-group>
            <year>2021</year>
            <article-title>Solar Cell BRDF Measurement and Modeling with Out-of-Plane Data</article-title>
            <source>Optics Express</source>
            <volume>29</volume>
            <pub-id pub-id-type="doi">10.1364/oe.440190</pub-id>
            <pub-id pub-id-type="pmid">34808982</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B15">
        <label>15.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Babin, M., Thorsteinsson, S., Jakobsen, M.L. and Spataru, S.V. (2022) Glare Potential Evaluation of Structured PV Glass Based on Gonioreflectometry. <italic>IEEE Journal of Photovoltaics</italic>, 12, 1314-1318. https://doi.org/10.1109/jphotov.2022.3189779 <pub-id pub-id-type="doi">10.1109/jphotov.2022.3189779</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/jphotov.2022.3189779">https://doi.org/10.1109/jphotov.2022.3189779</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Babin, M.</string-name>
              <string-name>Thorsteinsson, S.</string-name>
              <string-name>Jakobsen, M.L.</string-name>
              <string-name>Spataru, S.V.</string-name>
            </person-group>
            <year>2022</year>
            <article-title>Glare Potential Evaluation of Structured PV Glass Based on Gonioreflectometry</article-title>
            <source>IEEE Journal of Photovoltaics</source>
            <volume>12</volume>
            <pub-id pub-id-type="doi">10.1109/jphotov.2022.3189779</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B16">
        <label>16.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Compean, M., Small, T., Hyde, M. and Marciniak, M. (2023) Wave Optics Approach to Solar Cell BRDF Modeling with Experimental Results. <italic>Optics Express</italic>, 31, 26289-26300. https://doi.org/10.1364/oe.494284 <pub-id pub-id-type="doi">10.1364/oe.494284</pub-id><pub-id pub-id-type="pmid">37710492</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1364/oe.494284">https://doi.org/10.1364/oe.494284</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Compean, M.</string-name>
              <string-name>Small, T.</string-name>
              <string-name>Hyde, M.</string-name>
              <string-name>Marciniak, M.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Wave Optics Approach to Solar Cell BRDF Modeling with Experimental Results</article-title>
            <source>Optics Express</source>
            <volume>31</volume>
            <pub-id pub-id-type="doi">10.1364/oe.494284</pub-id>
            <pub-id pub-id-type="pmid">37710492</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B17">
        <label>17.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Bucher, C., Bohren, A., Hess, D., <italic>et al</italic>. (2023) Two-Dimensional Representation of the Bidirectional Reflectance Distribution Function of Photovoltaic Modules. 40 <italic>th European Photovoltaic Solar Energy Conference and Exhibition</italic>, Lisbon, 18-22 September 2023.</mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Bucher, C.</string-name>
              <string-name>Bohren, A.</string-name>
              <string-name>Hess, D.</string-name>
              <string-name>Exhibition, L</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Two-Dimensional Representation of the Bidirectional Reflectance Distribution Function of Photovoltaic Modules</article-title>
            <source>40th European Photovoltaic Solar Energy Conference and Exhibition</source>
            <volume>18</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B18">
        <label>18.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Yao, D., Sun, Y., He, L., Wu, H., Lin, G., Wang, J., <italic>et al</italic>. (2026) Automated BRDF Measurement for Aerospace Materials and 1D-CNN-Based Estimation of Mixed-Material Composition. <italic>Sensors</italic>, 26, Article 1560. https://doi.org/10.3390/s26051560 <pub-id pub-id-type="doi">10.3390/s26051560</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.3390/s26051560">https://doi.org/10.3390/s26051560</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Yao, D.</string-name>
              <string-name>Sun, Y.</string-name>
              <string-name>He, L.</string-name>
              <string-name>Wu, H.</string-name>
              <string-name>Lin, G.</string-name>
              <string-name>Wang, J.</string-name>
            </person-group>
            <year>2026</year>
            <article-title>Automated BRDF Measurement for Aerospace Materials and 1D-CNN-Based Estimation of Mixed-Material Composition</article-title>
            <source>Sensors</source>
            <volume>26</volume>
            <elocation-id>1560</elocation-id>
            <pub-id pub-id-type="doi">10.3390/s26051560</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B19">
        <label>19.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Deschaintre, V., Aittala, M., Durand, F., Drettakis, G. and Bousseau, A. (2018) Single-image SVBRDF Capture with a Rendering-Aware Deep Network. <italic>ACM Transactions on Graphics</italic>, 37, 1-15. https://doi.org/10.1145/3197517.3201378 <pub-id pub-id-type="doi">10.1145/3197517.3201378</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3197517.3201378">https://doi.org/10.1145/3197517.3201378</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Deschaintre, V.</string-name>
              <string-name>Aittala, M.</string-name>
              <string-name>Durand, F.</string-name>
              <string-name>Drettakis, G.</string-name>
              <string-name>Bousseau, A.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Single-image SVBRDF Capture with a Rendering-Aware Deep Network</article-title>
            <source>ACM Transactions on Graphics</source>
            <volume>37</volume>
            <pub-id pub-id-type="doi">10.1145/3197517.3201378</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B20">
        <label>20.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Nam, G., Lee, J.H., Gutierrez, D. and Kim, M.H. (2018) Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash Photography. <italic>ACM Transactions on Graphics</italic>, 37, 1-12. https://doi.org/10.1145/3272127.3275017 <pub-id pub-id-type="doi">10.1145/3272127.3275017</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/3272127.3275017">https://doi.org/10.1145/3272127.3275017</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Nam, G.</string-name>
              <string-name>Lee, J.H.</string-name>
              <string-name>Gutierrez, D.</string-name>
              <string-name>Kim, M.H.</string-name>
            </person-group>
            <year>2018</year>
            <article-title>Practical SVBRDF Acquisition of 3D Objects with Unstructured Flash Photography</article-title>
            <source>ACM Transactions on Graphics</source>
            <volume>37</volume>
            <pub-id pub-id-type="doi">10.1145/3272127.3275017</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B21">
        <label>21.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Geurts, P., Ernst, D. and Wehenkel, L. (2006) Extremely Randomized Trees. <italic>Machine Learning</italic>, 63, 3-42. https://doi.org/10.1007/s10994-006-6226-1 <pub-id pub-id-type="doi">10.1007/s10994-006-6226-1</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1007/s10994-006-6226-1">https://doi.org/10.1007/s10994-006-6226-1</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Geurts, P.</string-name>
              <string-name>Ernst, D.</string-name>
              <string-name>Wehenkel, L.</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Extremely Randomized Trees</article-title>
            <source>Machine Learning</source>
            <volume>63</volume>
            <pub-id pub-id-type="doi">10.1007/s10994-006-6226-1</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B22">
        <label>22.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Breiman, L. (2001) Random Forests. <italic>Machine Learning</italic>, 45, 5-32. https://doi.org/10.1023/a:1010933404324 <pub-id pub-id-type="doi">10.1023/a:1010933404324</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1023/a:1010933404324">https://doi.org/10.1023/a:1010933404324</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Breiman, L.</string-name>
            </person-group>
            <year>2001</year>
            <article-title>Random Forests</article-title>
            <source>Machine Learning</source>
            <volume>45</volume>
            <fpage>101093</fpage>
            <pub-id pub-id-type="doi">10.1023/a:1010933404324</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B23">
        <label>23.</label>
        <citation-alternatives>
          <mixed-citation publication-type="confproc">Chen, T. and Guestrin, C. (2016) XGBoost: A Scalable Tree Boosting System. <italic>Proceedings of the</italic>22 <italic>nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</italic>, San Francisco, 13-17 August 2016, 785-794. https://doi.org/10.1145/2939672.2939785 <pub-id pub-id-type="doi">10.1145/2939672.2939785</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1145/2939672.2939785">https://doi.org/10.1145/2939672.2939785</ext-link></mixed-citation>
          <element-citation publication-type="confproc">
            <person-group person-group-type="author">
              <string-name>Chen, T.</string-name>
              <string-name>Guestrin, C.</string-name>
              <string-name>Mining, S</string-name>
            </person-group>
            <year>2016</year>
            <article-title>XGBoost: A Scalable Tree Boosting System</article-title>
            <source>Proceedings of the 22nd ACM SIGKDD International Conference on Knowledge Discovery and Data Mining</source>
            <volume>13</volume>
            <pub-id pub-id-type="doi">10.1145/2939672.2939785</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B24">
        <label>24.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Borchani, H., Varando, G., Bielza, C. and Larrañaga, P. (2015) A Survey on Multi‐output Regression. <italic>WIREs Data Mining and Knowledge Discovery</italic>, 5, 216-233. https://doi.org/10.1002/widm.1157 <pub-id pub-id-type="doi">10.1002/widm.1157</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1002/widm.1157">https://doi.org/10.1002/widm.1157</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Borchani, H.</string-name>
              <string-name>Varando, G.</string-name>
              <string-name>Bielza, C.</string-name>
            </person-group>
            <year>2015</year>
            <article-title>A Survey on Multi‐output Regression</article-title>
            <source>WIREs Data Mining and Knowledge Discovery</source>
            <volume>5</volume>
            <pub-id pub-id-type="doi">10.1002/widm.1157</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B25">
        <label>25.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Jolliffe, I.T. and Cadima, J. (2016) Principal Component Analysis: A Review and Recent Developments. <italic>Philosophical Transactions of the Royal Society A</italic>: <italic>Mathematical</italic>, <italic>Physical and Engineering Sciences</italic>, 374, Article 20150202. https://doi.org/10.1098/rsta.2015.0202 <pub-id pub-id-type="doi">10.1098/rsta.2015.0202</pub-id><pub-id pub-id-type="pmid">26953178</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1098/rsta.2015.0202">https://doi.org/10.1098/rsta.2015.0202</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Jolliffe, I.T.</string-name>
              <string-name>Cadima, J.</string-name>
              <string-name>Mathematical, P</string-name>
            </person-group>
            <year>2016</year>
            <article-title>Principal Component Analysis: A Review and Recent Developments</article-title>
            <source>Philosophical Transactions of the Royal Society A: Mathematical</source>
            <volume>374</volume>
            <elocation-id>20150202</elocation-id>
            <pub-id pub-id-type="doi">10.1098/rsta.2015.0202</pub-id>
            <pub-id pub-id-type="pmid">26953178</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B26">
        <label>26.</label>
        <citation-alternatives>
          <mixed-citation publication-type="book">Rasmussen, C.E. and Williams, C.K.I. (2005) Gaussian Processes for Machine Learning. The MIT Press. https://doi.org/10.7551/mitpress/3206.001.0001 <pub-id pub-id-type="doi">10.7551/mitpress/3206.001.0001</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.7551/mitpress/3206.001.0001">https://doi.org/10.7551/mitpress/3206.001.0001</ext-link></mixed-citation>
          <element-citation publication-type="book">
            <person-group person-group-type="author">
              <string-name>Rasmussen, C.E.</string-name>
              <string-name>Williams, C.K.I.</string-name>
            </person-group>
            <year>2005</year>
            <article-title>Gaussian Processes for Machine Learning</article-title>
            <pub-id pub-id-type="doi">10.7551/mitpress/3206.001.0001</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B27">
        <label>27.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Higdon, D., Gattiker, J., Williams, B. and Rightley, M. (2008) Computer Model Calibration Using High-Dimensional Output. <italic>Journal of the American Statistical Association</italic>, 103, 570-583. https://doi.org/10.1198/016214507000000888 <pub-id pub-id-type="doi">10.1198/016214507000000888</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1198/016214507000000888">https://doi.org/10.1198/016214507000000888</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Higdon, D.</string-name>
              <string-name>Gattiker, J.</string-name>
              <string-name>Williams, B.</string-name>
              <string-name>Rightley, M.</string-name>
            </person-group>
            <year>2008</year>
            <article-title>Computer Model Calibration Using High-Dimensional Output</article-title>
            <source>Journal of the American Statistical Association</source>
            <volume>103</volume>
            <pub-id pub-id-type="doi">10.1198/016214507000000888</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B28">
        <label>28.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Camps-Valls, G., Verrelst, J., Munoz-Mari, J., Laparra, V., Mateo-Jimenez, F. and Gomez-Dans, J. (2016) A Survey on Gaussian Processes for Earth-Observation Data Analysis: A Comprehensive Investigation. <italic>IEEE Geoscience and Remote Sensing Magazine</italic>, 4, 58-78. https://doi.org/10.1109/mgrs.2015.2510084 <pub-id pub-id-type="doi">10.1109/mgrs.2015.2510084</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1109/mgrs.2015.2510084">https://doi.org/10.1109/mgrs.2015.2510084</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Camps-Valls, G.</string-name>
              <string-name>Verrelst, J.</string-name>
              <string-name>Munoz-Mari, J.</string-name>
              <string-name>Laparra, V.</string-name>
              <string-name>Mateo-Jimenez, F.</string-name>
              <string-name>Gomez-Dans, J.</string-name>
            </person-group>
            <year>2016</year>
            <article-title>A Survey on Gaussian Processes for Earth-Observation Data Analysis: A Comprehensive Investigation</article-title>
            <source>IEEE Geoscience and Remote Sensing Magazine</source>
            <volume>4</volume>
            <pub-id pub-id-type="doi">10.1109/mgrs.2015.2510084</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B29">
        <label>29.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Stone, M. (1974) Cross-Validatory Choice and Assessment of Statistical Predictions. <italic>Journal of the Royal Statistical Society Series B</italic>: <italic>Statistical Methodology</italic>, 36, 111-133. https://doi.org/10.1111/j.2517-6161.1974.tb00994.x <pub-id pub-id-type="doi">10.1111/j.2517-6161.1974.tb00994.x</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1111/j.2517-6161.1974.tb00994.x">https://doi.org/10.1111/j.2517-6161.1974.tb00994.x</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Stone, M.</string-name>
            </person-group>
            <year>1974</year>
            <article-title>Cross-Validatory Choice and Assessment of Statistical Predictions</article-title>
            <source>Journal of the Royal Statistical Society Series B: Statistical Methodology</source>
            <volume>36</volume>
            <pub-id pub-id-type="doi">10.1111/j.2517-6161.1974.tb00994.x</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B30">
        <label>30.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Varma, S. and Simon, R. (2006) Bias in Error Estimation When Using Cross-Validation for Model Selection. <italic>BMC Bioinformatics</italic>, 7, Article No. 91. https://doi.org/10.1186/1471-2105-7-91 <pub-id pub-id-type="doi">10.1186/1471-2105-7-91</pub-id><pub-id pub-id-type="pmid">16504092</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1186/1471-2105-7-91">https://doi.org/10.1186/1471-2105-7-91</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Varma, S.</string-name>
              <string-name>Simon, R.</string-name>
            </person-group>
            <year>2006</year>
            <article-title>Bias in Error Estimation When Using Cross-Validation for Model Selection</article-title>
            <source>BMC Bioinformatics</source>
            <volume>7</volume>
            <elocation-id>No</elocation-id>
            <pub-id pub-id-type="doi">10.1186/1471-2105-7-91</pub-id>
            <pub-id pub-id-type="pmid">16504092</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B31">
        <label>31.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Cawley, G.C. and Talbot, N.L.C. (2010) On Over-Fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation. <italic>Journal of Machine Learning Research</italic>, 11, 2079-2107.</mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Cawley, G.C.</string-name>
              <string-name>Talbot, N.L.C.</string-name>
            </person-group>
            <year>2010</year>
            <article-title>On Over-Fitting in Model Selection and Subsequent Selection Bias in Performance Evaluation</article-title>
            <source>Journal of Machine Learning Research</source>
            <volume>11</volume>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B32">
        <label>32.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Roberts, D.R., Bahn, V., Ciuti, S., Boyce, M.S., Elith, J., Guillera‐Arroita, G., <italic>et al</italic>. (2017) Cross‐Validation Strategies for Data with Temporal, Spatial, Hierarchical, or Phylogenetic Structure. <italic>Ecography</italic>, 40, 913-929. https://doi.org/10.1111/ecog.02881 <pub-id pub-id-type="doi">10.1111/ecog.02881</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1111/ecog.02881">https://doi.org/10.1111/ecog.02881</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Roberts, D.R.</string-name>
              <string-name>Bahn, V.</string-name>
              <string-name>Ciuti, S.</string-name>
              <string-name>Boyce, M.S.</string-name>
              <string-name>Elith, J.</string-name>
              <string-name>Arroita, G.</string-name>
              <string-name>Temporal, S</string-name>
            </person-group>
            <year>2017</year>
            <article-title>Cross‐Validation Strategies for Data with Temporal, Spatial, Hierarchical, or Phylogenetic Structure</article-title>
            <source>Ecography</source>
            <volume>40</volume>
            <pub-id pub-id-type="doi">10.1111/ecog.02881</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B33">
        <label>33.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Vabalas, A., Gowen, E., Poliakoff, E. and Casson, A.J. (2019) Machine Learning Algorithm Validation with a Limited Sample Size. <italic>PLOS ONE</italic>, 14, e0224365. https://doi.org/10.1371/journal.pone.0224365 <pub-id pub-id-type="doi">10.1371/journal.pone.0224365</pub-id><pub-id pub-id-type="pmid">31697686</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1371/journal.pone.0224365">https://doi.org/10.1371/journal.pone.0224365</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Vabalas, A.</string-name>
              <string-name>Gowen, E.</string-name>
              <string-name>Poliakoff, E.</string-name>
              <string-name>Casson, A.J.</string-name>
            </person-group>
            <year>2019</year>
            <article-title>Machine Learning Algorithm Validation with a Limited Sample Size</article-title>
            <source>PLOS ONE</source>
            <volume>14</volume>
            <pub-id pub-id-type="doi">10.1371/journal.pone.0224365</pub-id>
            <pub-id pub-id-type="pmid">31697686</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B34">
        <label>34.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Kapoor, S. and Narayanan, A. (2023) Leakage and the Reproducibility Crisis in Machine-Learning-Based Science. <italic>Patterns</italic>, 4, Article 100804. https://doi.org/10.1016/j.patter.2023.100804 <pub-id pub-id-type="doi">10.1016/j.patter.2023.100804</pub-id><pub-id pub-id-type="pmid">37720327</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/j.patter.2023.100804">https://doi.org/10.1016/j.patter.2023.100804</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Kapoor, S.</string-name>
              <string-name>Narayanan, A.</string-name>
            </person-group>
            <year>2023</year>
            <article-title>Leakage and the Reproducibility Crisis in Machine-Learning-Based Science</article-title>
            <source>Patterns</source>
            <volume>4</volume>
            <elocation-id>100804</elocation-id>
            <pub-id pub-id-type="doi">10.1016/j.patter.2023.100804</pub-id>
            <pub-id pub-id-type="pmid">37720327</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B35">
        <label>35.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">LABSPHERE (2019) Spectralon Diffuse Reflectance Standards. PB-13058, Revision 2, Manufacturer Datasheet.</mixed-citation>
          <element-citation publication-type="other">
            <year>2019</year>
            <article-title>Spectralon Diffuse Reflectance Standards</article-title>
            <source>PB-13058</source>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B36">
        <label>36.</label>
        <citation-alternatives>
          <mixed-citation publication-type="journal">Kruse, F.A., Lefkoff, A.B., Boardman, J.W., Heidebrecht, K.B., Shapiro, A.T., Barloon, P.J., <italic>et al</italic>. (1993) The Spectral Image Processing System (SIPS)—Interactive Visualization and Analysis of Imaging Spectrometer Data. <italic>Remote Sensing of Environment</italic>, 44, 145-163. https://doi.org/10.1016/0034-4257(93)90013-n <pub-id pub-id-type="doi">10.1016/0034-4257(93)90013-n</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1016/0034-4257(93)90013-n">https://doi.org/10.1016/0034-4257(93)90013-n</ext-link></mixed-citation>
          <element-citation publication-type="journal">
            <person-group person-group-type="author">
              <string-name>Kruse, F.A.</string-name>
              <string-name>Lefkoff, A.B.</string-name>
              <string-name>Boardman, J.W.</string-name>
              <string-name>Heidebrecht, K.B.</string-name>
              <string-name>Shapiro, A.T.</string-name>
              <string-name>Barloon, P.J.</string-name>
            </person-group>
            <year>1993</year>
            <article-title>The Spectral Image Processing System (SIPS)—Interactive Visualization and Analysis of Imaging Spectrometer Data</article-title>
            <source>Remote Sensing of Environment</source>
            <volume>4257</volume>
            <issue>93</issue>
            <pub-id pub-id-type="doi">10.1016/0034-4257(93)90013-n</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
      <ref id="B37">
        <label>37.</label>
        <citation-alternatives>
          <mixed-citation publication-type="other">Du, Y., Chang, C., Ren, H., Chang, C., Jensen, J.O. and D’Amico, F.M. (2004) New Hyperspectral Discrimination Measure for Spectral Characterization. <italic>Optical Engineering</italic>, 43, 1777-1786. https://doi.org/10.1117/1.1766301 <pub-id pub-id-type="doi">10.1117/1.1766301</pub-id><ext-link ext-link-type="uri" xlink:href="https://doi.org/10.1117/1.1766301">https://doi.org/10.1117/1.1766301</ext-link></mixed-citation>
          <element-citation publication-type="other">
            <person-group person-group-type="author">
              <string-name>Du, Y.</string-name>
              <string-name>Chang, C.</string-name>
              <string-name>Ren, H.</string-name>
              <string-name>Chang, C.</string-name>
              <string-name>Jensen, J.O.</string-name>
              <string-name>Amico, F.M.</string-name>
            </person-group>
            <year>2004</year>
            <article-title>New Hyperspectral Discrimination Measure for Spectral Characterization</article-title>
            <source>Optical Engineering</source>
            <volume>43</volume>
            <pub-id pub-id-type="doi">10.1117/1.1766301</pub-id>
          </element-citation>
        </citation-alternatives>
      </ref>
    </ref-list>
  </back>
</article>