Analysis report

Ocean Temperature by Depth

Target
Temperature
Rows
4000
Columns
2
Analyzed
2026-10-31 22:45 UTC

Summary

The model predicts Temperature, explains 96.1% of the variation, and relies entirely on Depth as its strongest input. Moving Depth from 378 to 1,466 lowers the model's output by about 5.72 on average, with everything else as observed. Compared with a straight line through the data, which explained 49% of the variation, the model improves by 47 points of variance explained and gave a closer answer on 87% of the held-out rows.

The model was measured on 800 held-out rows, and this quality is judged rather than just stated. Evidence shows the model is much less accurate for rows where Depth is in the lowest quarter (1.10 to 357), where it explains 88% of the variation, and overall model accuracy declines for higher predicted values. Validate on a fresh sample before relying on the model for decisions.

Formula

Temperature = 56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)Temperature=56.05−8.06×tanh−log₁₀e+0.015×Depth2−72.8×tanh0.4127+0.000013×Depth−14.5×tanh0.0021×Depth−0.25×tanh−Depth2
Temperature = 56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)
5 terms · additively decomposable

Held-out diagnostics

TargetQualityErrorR²MAESearch rowsGeneralizationRows
Temperature95.98%3.92%0.96080.77563200generalizing800
  • Temperature · Quality 95% CI 95.04% to 96.7%
  • Temperature · Error 95% CI 3.22% to 4.83%
  • Temperature · R² 95% CI 0.9517 to 0.9678
  • Temperature · MAE 95% CI 0.7112 to 0.8433

Concerns

CRITICAL implications

Much weaker quality on rows with `Depth` in the lowest quarter (1.10 to 357)

The model's typical miss on this segment is 2.16 times its typical miss on all held-out rows, on 190 rows. The model is much weaker on these rows; a decision that depends on them needs a separate check.

WARNING model

Residual variance grows with predicted value: model accuracy degrades on higher-magnitude predictions

Across 800 held-out rows split into thirds by predicted value, the residual standard deviation in the top third is 1.94, against 0.262 in the bottom third, 7.38 times as large. The bottom third holds predictions up to 4.42 and the top third predictions from 7.84. Relative to the predictions, the typical miss is 6.7% of the value in the bottom third and 13% in the top third, 1.93 times as large. The residual spread is 7.38 times as large at the high end: noticeable, not severe. Predictions at the high end deserve caution; a log transform of the target may tighten them.

WARNING model

`Depth` alone almost determines `Temperature`

Spearman's rho = -0.96 (Pearson r = -0.715) between Depth and the target Temperature. The column on its own tells almost everything about the target. The coefficients read the same for a strong input and for a leak. If Depth is known before Temperature exists, it is the strongest input and the quality stated in this report is real. If it was computed from Temperature or recorded after it, a formula that reads it will not hold on new data. The model reads this column in its formula. Confirming Depth as known before the target settles the question; leaving it out and running the analysis again removes it.

Analysis

The report opens with the Headline and the Concerns, followed by the Discovered Relations when the analysis has targets and by Questions & Answers when questions were asked. Three sections carry the detail: Model presents one model per target, Implications states where the models hold and what to weigh before relying on them, and Data describes the table as supplied, column by column, for reference.

Generated 2026-10-31 22:45 UTC, analysis 8b07f3e0-d520-11f1-a20a-f5aa8d23043d, 1 target, time budget 4 h 0 min, compute budget 4,000 credits, 4,000 rows. The Provenance & Audit chapter holds the full record.

Validity

Validity: valid. Nothing in the data or the formula speaks against relying on this result.

How to read this

Whether this result is one to rely on. Quality says how closely the formula follows the data; validity says whether that closeness means anything. A formula that only restates its target, or that reads a column which already holds the answer, can reach a high quality and still say nothing new about the data.

What it found

Temperature starts from a base of 56 and falls with Depth up to about 3090 and then levels off.

  1. Depth is the only input the formula reads. Everything the formula explains about Temperature comes from Depth.
  2. Temperature falls with Depth up to about 3090, then levels off. With the other inputs at typical values, the formula gives 26.3 at Depth 0, 5.76 at 773 and 2.85 at 3090. Beyond that it stays near 2.85.
  3. The formula is ahead of a straight line. The formula explains 96.1% of Temperature; a straight line explains 49%. That was measured on 800 rows it never saw. The formula typically misses Temperature by 0.776. It is weakest where Depth is between 1.1 and 357, where it explains 88%.

Summary

What to do next: Intervals are wider than their level requires: the 50% intervals hold 68% of the held-out rows, 18.1 points more.

6 chapters, each headed by what it found.

S.1 Depth carries the whole formula

What the formula relies on. Temperature falls as Depth rises.

Measured on 320 of the 3,200 rows the model was found on, which the search set apart for it. With Depth the model's output rises on 34 and falls on 1,566 of the 1,600 measured rows (exact derivative). Moving Depth from 378 to 1,466, its first and third quartile, with every other input as observed lowers the model's output by 5.72 on average. These are measurements on the rows the search trained on, inside the observed ranges; outside them nothing is claimed.

Table 6.1.3 · Which inputs matter most
InputShare of importancePermutation importanceSensitivityResidual correlationOccurrencesModel's output as the input risesChange, first to third quartile
Depth100%41.130.0184-0.061Rises and falls (rises on 34, falls on 1566 of 1600 rows)-5.724 (378.1 to 1466)
Rows the search trained on, measured
1600
N rows
320

Read as a sum, the formula has 5 additive terms: 4 that read an input and a constant base. Three of those that read an input carry 100% of the variation of the model's output on the 1,600 rows the search trained on: -14.5 × tanh(0.0021 × Depth) (68%), -8.06 × tanh(-log10(e) + 0.015 × Depth)^2 (26%) and -72.8 × tanh(0.4127 + 0.000013 × Depth) (6.7%). A share describes the model's output, not the target. Each curve below shows one term's response to its free inputs, with the other inputs held at the training median.

Additive
Yes
Rows the search trained on, measured
1600
Terms in the formula
5
Notation
56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)
Target
Temperature

S.2 It holds on new rows: R² 0.96 held out, 0.95 on the training rows

How well it holds. The formula explains 96.1% of Temperature; a straight line explains 49%.

How this was checked

  • Measured on 800 rows the formula never saw (20% of 4,000); the other 3,200 built it.
  • Compared on the same rows against always guessing the average, always guessing the median and a straight line.
  • Intervals from 1,000 bootstrap resamples of those rows.

R² of 0.961 on 800 rows the search never saw (95% interval 0.952 to 0.968): excellent. The model explains over 90% of the variation on these rows. Mean absolute error is 0.776 on the target's scale.

Error
3.92% (95% CI 3.22% to 4.83%)
MAE
0.7756 (95% CI 0.7112 to 0.8433)
N
800
Training rows
3200
Quality
95.98% (95% CI 95.04% to 96.7%)
R²
0.9608 (95% CI 0.9517 to 0.9678)
Rows found on
3200
Target
Temperature

The model beats the strongest simple yardstick, a straight line through the data, by 47 points of variance explained on the 800 held-out rows. Row by row the margin is medium: the structure is real but not overwhelming. Of the 800 held-out rows where the two differ, the model is closer on 87% (95% interval 84% to 89%).

Best yardstick's score
0.4935 (95% CI 0.438 to 0.5391)
Best baseline R²
0.4935
Effect size d
0.7379 (95% CI 0.6912 to 0.7955)
Effect size d magnitude
medium
Margin over the best yardstick
0.4673 (95% CI 0.419 to 0.522)
Margin's interval stays above zero
Yes
Model MAE
0.7756 (95% CI 0.7112 to 0.8433)
Model
0.9608 (95% CI 0.9517 to 0.9678)
Model R²
0.9608 (95% CI 0.9517 to 0.9678)
Held-out rows
800
Held-out rows without an answer
0
Target
Temperature
Rows where the model is closer
87% (95% CI 84.49% to 89.15%)
Rows compared
800
Rows level
0
Regression yardstick trained with gaps filled (too few complete rows)
No
Training rows of the regression yardstick
3200

The model explains held-out rows about as well as training rows (held-out R² 0.961 on 800 rows, gap between training and held-out R² -0.00839): it generalizes. The structure the formula encodes carries from the training rows to the held-out rows.

Generalization gap
-0.008388
N test
800
Target
Temperature
Test error
0.7756 (95% CI 0.7112 to 0.8433)
Test R²
0.9608 (95% CI 0.9517 to 0.9678)
Train error
0.05047
Train R²
0.9524
Verdict
Generalizing

S.3 Weaker in the lowest quarter of Depth

Where it is weak. The largest miss on a held-out row is 7.02 (recorded 24.5, predicted 17.5). 1.4% of the held-out rows are unlike the rows it learned from.

Segment depth in the lowest quarter (1.10 to 357) is much weaker than the aggregate (190 held-out rows): segment R² 0.883 against aggregate R² 0.961 (gap -0.0782). A drop this large means the model describes this slice of the data poorly; an input interaction or a missing column may be specific to this subset.

Table 7.2.1 · Temperature by Input Range
SegmentRowsR²Gap to all rowsVerdict
Depth = q11900.8826-0.0782Much weaker than on all rows
Depth = q22080.6887-0.2721In line with all rows
Depth = q3183-0.0044-0.9653In line with all rows
Depth = q42190.8418-0.1191In line with all rows
Aggregate MAE
0.7756
Aggregate R²
0.9608
Measure
r2
Target
Temperature

The worst held-out row was missed by 7.02 (target's scale). The 10 rows with the largest absolute residuals out of 800 held-out rows are shown. Each card breaks the failure down into per-term contributions and input values, so the failure mode is inspectable. A large residual with one concentrated term contribution means one term got this row wrong; a large residual with balanced contributions means a structural mismatch.

Table 6.1.13 · Worst Predictions
ActualPredictedResidualDepth
24.5417.52+7.02126
17.5224.46-6.9560
14.1820.28-6.1095.1
14.5520.62-6.0792
24.8519.57+5.28102
27.2522.06+5.1879.7
20.5125.47-4.9650.7
17.4822.28-4.8177.9
20.0115.31+4.70166
25.3220.62+4.6992
Additive
Yes
Expected coverage
0.8978
N extrapolated
0
Held-out rows
800
Held-out rows for the interval
800
Rows inside the interval
726
Residual P5
-1.793
Residual P95
2.079
Residual std
1.236

11 of 800 held-out rows (1.4%) lie further from the training rows than 99 in 100 rows like them would, measured on the 1 input the model reads (depth). That is a small minority; the held-out figures describe the model on rows like the ones it was trained on.

Table 7.3 · Rows unlike the ones the model learned from
TargetInputs measuredLineHeld-out rowsBeyond the lineShare
TemperatureDepth2.576800111.38%
Table 7.3 · Score bins · 24 of 30 rows shown
CountFromTo
11300.216
1030.2160.433
960.4330.649
1310.6490.866
1240.8661.082
1271.0821.299
751.2991.515
111.5151.731
21.7311.948
31.9482.164

The first 10 rows of 24. The other 14 are in the notebook.

S.4 Not ready to use yet: 1 critical concern

What to watch. First: Much weaker quality on rows with Depth in the lowest quarter (1.10 to 357).

Table 3 · Concerns
SeveritySectionConcernDetail
CriticalImplicationsMuch weaker quality on rows with Depth in the lowest quarter (1.10 to 357)The model's typical miss on this segment is 2.16 times its typical miss on all held-out rows, on 190 rows. The model is much weaker on these rows; a decision that depends on them needs a separate check.
WarningModelResidual variance grows with predicted value: model accuracy degrades on higher-magnitude predictionsAcross 800 held-out rows split into thirds by predicted value, the residual standard deviation in the top third is 1.94, against 0.262 in the bottom third, 7.38 times as large. The bottom third holds predictions up to 4.42 and the top third predictions from 7.84. Relative to the predictions, the typical miss is 6.7% of the value in the bottom third and 13% in the top third, 1.93 times as large. The residual spread is 7.38 times as large at the high end: noticeable, not severe. Predictions at the high end deserve caution; a log transform of the target may tighten them.
WarningModelDepth alone almost determines TemperatureSpearman's rho = -0.96 (Pearson r = -0.715) between Depth and the target Temperature. The column on its own tells almost everything about the target. The coefficients read the same for a strong input and for a leak. If Depth is known before Temperature exists, it is the strongest input and the quality stated in this report is real. If it was computed from Temperature or recorded after it, a formula that reads it will not hold on new data. The model reads this column in its formula. Confirming Depth as known before the target settles the question; leaving it out and running the analysis again removes it.

The analysis ran with the configuration below. The checks and the verdict of this chapter are read against it.

  • Targets: 1 target: temperature
  • Rows: 4,000 rows
  • Per-Segment Predictions: not produced, because no segment column was chosen
  • Fairness: not assessed, because the data has no categorical column other than the target
  • Out-of-Distribution: held-out rows are scored against the training rows; predictions made outside this report are not scored
  • Provenance & Audit: recorded in the chapter of that name

Across 5 checks (4 pass, 1 warns, 0 fail, 1 critical concern), every check passes or warns, but a critical concern is open: Not ready to use yet. The Concerns chapter names what is open; it needs addressing before the predictions are used.

Table 7.5 · Deployment Readiness
NameStatusDetail
GeneralizationPassquality on the held-out rows matches quality on the rows the model was found on
Prediction Interval CoverageWarnintervals are wider than their level requires: the 50% intervals hold 68% of the held-out rows, 18.1 points more
Baseline Lift for TemperaturePassbeats the best baseline, R² lift 0.467
Model ConstraintsPassevery held-out prediction is finite and within the training range
Out-of-DistributionPass1.4% of held-out rows are out of distribution
N critical concerns
1
N fail
0
N pass
4
N warn
1
Overall verdict
Not ready

S.5 More rows in the lowest quarter of Depth would help most

What to collect next. Its R² there is 0.88 against 0.96 on all rows, on 190 held-out rows.

  • Collect more rows where Depth is in the lowest quarter (1.10 to 357). Reason: the model is far less accurate on the 190 held-out rows where Depth is in the lowest quarter (1.10 to 357), explaining 88% of the variation there.
  • Validate the model's accuracy on cases with high predicted Temperature values. Reason: residual variance grows with predicted value, so model accuracy degrades on higher-magnitude predictions.
  • Add one or more inputs that record additional factors beyond Depth. Reason: Depth alone almost determines Temperature, which suggests there may be other factors affecting Temperature that are not captured in the current data.

S.6 It shows how Temperature moves with its inputs in these rows, not what causes it

What this model does not show. It was built on Depth from 0 to 5460; outside those ranges it has not been checked.

Diafunc found a formula that captures the structure in the training data. That structure is correlative: it states what predicts what in this data. It does not establish that any input causes the target.

A correlative model is the right tool for predicting the target on new rows like these, for exploring which inputs carry information about the target, and for an early-stage diagnostic or screening tool.

A correlative model is not the right tool for claiming that intervening on an input will change the target, for attributing a target's values to specific causes for accountability, or for choosing between policies that act on the inputs.

The Quality by Input Range, Fairness and Concerns chapters show the most common confounding patterns in the data.

The model is correlative: it captures which columns predict the target in the training data, not whether changing one would change the other. Predictions are reliable for inputs that look like the training distribution; they are not evidence that intervening on an input will change the target. The 4 upgrade pathways below show what evidence would support a causal claim.

Table 7.4 · Upgrade pathways
NameSummary
Controlled experimentRandomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input.
Natural experimentFind a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference.
Causal graphWrite out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies.
Control for confoundersIf a third variable plausibly moves both the input and the target, stratify by it or condition on it before training again. Gaps in the Quality by Input Range chapter are a clue.

Evidence

Every chapter of the analysis in full: the figures the story rests on, and everything else the analysis measured.

1 Headline

Diafunc modeled Temperature from 1 column, which the model uses in full. The model explains 96.1% of the variation in Temperature and relies most on Depth, with which the model's output rises on 34 and falls on 1,566 of 1,600 rows.

  • One target was modeled; 800 rows were held out for checking.
  • A straight line through the data already explained 49%; the model added 47 points of variance explained, a margin seen on 87% of the held-out rows.
  • The model is far less accurate on the 190 held-out rows where Depth is in the lowest quarter (1.10 to 357).
Best R²
0.9608
Best quality
95.98%
Best target
temperature
Targets
1

2 Stakeholder Summary

The model predicts Temperature, explains 96.1% of the variation, and relies entirely on Depth as its strongest input. Moving Depth from 378 to 1,466 lowers the model's output by about 5.72 on average, with everything else as observed. Compared with a straight line through the data, which explained 49% of the variation, the model improves by 47 points of variance explained and gave a closer answer on 87% of the held-out rows.

The model was measured on 800 held-out rows, and this quality is judged rather than just stated. Evidence shows the model is much less accurate for rows where Depth is in the lowest quarter (1.10 to 357), where it explains 88% of the variation, and overall model accuracy declines for higher predicted values. Validate on a fresh sample before relying on the model for decisions.

3 Concerns

Table 3 · Concerns
SeveritySectionConcernDetail
CriticalImplicationsMuch weaker quality on rows with Depth in the lowest quarter (1.10 to 357)The model's typical miss on this segment is 2.16 times its typical miss on all held-out rows, on 190 rows. The model is much weaker on these rows; a decision that depends on them needs a separate check.
WarningModelResidual variance grows with predicted value: model accuracy degrades on higher-magnitude predictionsAcross 800 held-out rows split into thirds by predicted value, the residual standard deviation in the top third is 1.94, against 0.262 in the bottom third, 7.38 times as large. The bottom third holds predictions up to 4.42 and the top third predictions from 7.84. Relative to the predictions, the typical miss is 6.7% of the value in the bottom third and 13% in the top third, 1.93 times as large. The residual spread is 7.38 times as large at the high end: noticeable, not severe. Predictions at the high end deserve caution; a log transform of the target may tighten them.
WarningModelDepth alone almost determines TemperatureSpearman's rho = -0.96 (Pearson r = -0.715) between Depth and the target Temperature. The column on its own tells almost everything about the target. The coefficients read the same for a strong input and for a leak. If Depth is known before Temperature exists, it is the strongest input and the quality stated in this report is real. If it was computed from Temperature or recorded after it, a formula that reads it will not hold on new data. The model reads this column in its formula. Confirming Depth as known before the target settles the question; leaving it out and running the analysis again removes it.

How to read this

Data-quality, model-quality, and deployment-risk issues detected during the analysis appear below, ordered by severity. Critical concerns are listed first; Warning and Info entries follow.

4 Discovered Relations

Table 4 · Quality and error measured on the 800 held-out rows
TargetFormulaQualityComplexityError
TemperatureTemperature = 56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)95.98%32.4%3.92%

How to read this

One model per target, each a formula with its quality, complexity and error. Higher quality at lower complexity describes the data most clearly. The findings below read the models together; the per-target chapters in the Model section carry each formula, its predictions and its diagnostics.

5 Questions & Answers

3 questions were asked with this analysis:

  • How does the sea temperature change with depth?
  • Down to what depth is the water warm?
  • How cold is the deep ocean?

How does the sea temperature change with depth?

The model's output for Temperature relies on Depth and falls over most of its observed range: raising Depth from 378 to 1,466 lowers the model's output by about 5.72. The direction depends on the range.

From Which inputs matter most (Temperature), Temperature Model (Temperature) and How each term responds to its inputs (Temperature).

Down to what depth is the water warm?

Not answered by this analysis. The analysis would need a definition or value for what is considered warm to determine down to what depth the water is warm.

How cold is the deep ocean?

The model's output for Temperature takes values as low as 1.66 in the held-out rows, with the minimum in the fitted range at 1.12.

From Prediction Chart (Temperature) and How the formula behaves outside the data (Temperature).

N answered
2
N questions
3

6 Model

The model output temperature moves almost entirely with Depth, with this input carrying all of the model's reliance. Model quality is high, with share of variation explained of 0.961 on held-out rows. Accuracy falls for higher predicted temperatures. The Concerns chapter documents that Depth alone almost determines Temperature.

Most notable in the Model section:

  • Depth carries most of the model (100% of its reliance on inputs)

How to read this

The Model section presents one model per target: its formula, its predictions on held-out rows, the inputs it relies on, the baselines it is measured against, and diagnostics of how it behaves. With more than one target, the Composite Model, Multi-Output and Leaderboard chapters read the models as a set.

6.1 Temperature

The Model section builds one model for Temperature: a formula that expresses it through the other columns. Diafunc searches the space of mathematical expressions for the formula that balances accuracy against simplicity, so the result is not a black box but an expression that can be read, evaluated and questioned. The chapters that follow show the formula, score it on rows it never saw during training, and take it apart term by term.

6.1.1 Temperature Model

The model's output falls as Depth rises, relying entirely on Depth.

Temperature = 56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)f:Depth↦TemperatureDepth,Temperature∈RTemperature=56.05−8.06×tanh−log₁₀e+0.015×Depth2−72.8×tanh0.4127+0.000013×Depth−14.5×tanh0.0021×Depth−0.25×tanh−Depth2
Temperature = 56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)
Quality 95.98% · Error 3.92% on 800 rows the search never saw · Found on 3200 rows · Complexity 32.4%
Table 6.1.1 · Constants of the formula
ValueRoleInputUnit
56.05InterceptUnit of the model's output
-8.06Coefficient
0.015Coefficient
-72.8Coefficient
0.4127Offset
1.300e-05Coefficient
-14.5Coefficient
0.0021RateDepthPer unit of Depth
-0.25Coefficient
Share of the output's variation they carry
100.05%
Rows the search trained on, measured
1600
Rows the search trained on
1600
Held out R²
0.9608 (95% CI 0.9517 to 0.9678)
Constant base
56.05
Constants in the formula
9
Terms that reach 95% of the output's variation
3
Terms that read an input, constants multiplied in
4
Training rows
3200
Held-out rows
800
Inputs the formula reads
1
Terms in the formula
5

How to read this

The three gauges score the model on the held-out rows: rows that were set aside before the search and that the model never saw. They are the figures to quote for how the model does on new data.

Table 6.1.1 · Temperature Model
MetricMeaning
QualityHow well the model predicts on the held-out rows, marked down for the size of its formula: 100% is an exact prediction, 0% is no better than always predicting the average. It is not R², and sits at or just below it
ErrorHow far the predictions lie from the held-out values, as a share of the miss of always predicting the average: 0% is an exact prediction, 100% is no better than the average
ComplexityThe size of the formula as a share of the complexity the search was allowed: a low figure is a short formula

The figures under During the search are the same measures on the training rows. They are what the search ranked its candidates by, so they describe the search and tend to flatter the model it chose. The Generalization chapter sets the training rows beside the held-out rows, and the Baselines chapter sets the model beside its baselines. The time and credit gauges account for the computation that produced the model, not for the model itself.

6.1.2 Prediction

The model predicts Temperature for any row that supplies the other columns. This chapter applies it to the held-out rows, the rows set aside before training, so that the predictions can be compared with values the model never saw. The rows themselves and the function that predicts them are kept as reference under Foundation, with the processed data.

6.1.2.1 Prediction Chart

R² of 0.961 on 800 rows the search never saw (95% interval 0.952 to 0.968): excellent. The model explains over 90% of the variation on these rows. Mean absolute error is 0.776 on the target's scale.

Error
3.92% (95% CI 3.22% to 4.83%)
MAE
0.7756 (95% CI 0.7112 to 0.8433)
N
800
Training rows
3200
Quality
95.98% (95% CI 95.04% to 96.7%)
R²
0.9608 (95% CI 0.9517 to 0.9678)
Rows found on
3200
Target
Temperature

How to read this

Actual Temperature on the horizontal axis against the model's predicted value on the vertical axis, for the held-out rows the model never saw during training. Points on the diagonal are perfect predictions; systematic vertical offsets reveal bias, vertical spread reveals noise, and points far from the diagonal are rows the model handles poorly. With 10,000 held-out rows or more, the rows are counted instead of drawn one point each: each cell is a range of the actual and a range of the predicted value, its color the number of rows that fall in both, and the cells whose two ranges match hold the rows the model predicts well.

6.1.2.2 Residual Distribution
Bias
-0.03768 (95% CI -0.1259 to 0.04891)
N
800
P50
-0.05212 (95% CI -0.1031 to -0.01734)
P90
1.281 (95% CI 1.088 to 1.513)
P95
2.079 (95% CI 1.666 to 2.318)
P99
3.828 (95% CI 3.271 to 4.699)
Std
1.236 (95% CI 1.121 to 1.361)

How to read this

How the held-out residuals (actual Temperature minus predicted) are distributed. Bias is their mean: a value away from zero means the model is systematically high or low rather than merely imprecise. The standard deviation and the percentiles describe the spread, and the tail percentiles say how large the worst misses get. Every figure carries a bootstrap 95% confidence interval; with a small held-out set those intervals are wide, and that width is itself the finding.

6.1.3 Which inputs matter most

Measured on 320 of the 3,200 rows the model was found on, which the search set apart for it. With Depth the model's output rises on 34 and falls on 1,566 of the 1,600 measured rows (exact derivative). Moving Depth from 378 to 1,466, its first and third quartile, with every other input as observed lowers the model's output by 5.72 on average. These are measurements on the rows the search trained on, inside the observed ranges; outside them nothing is claimed.

Table 6.1.3 · Which inputs matter most
InputShare of importancePermutation importanceSensitivityResidual correlationOccurrencesModel's output as the input risesChange, first to third quartile
Depth100%41.130.0184-0.061Rises and falls (rises on 34, falls on 1566 of 1600 rows)-5.724 (378.1 to 1466)
Rows the search trained on, measured
1600
N rows
320

How to read this

The chart ranks the inputs of the Temperature model by permutation importance: how much the model's error rises when that input's values are shuffled across rows so that it carries no information. A longer bar means the model relies on the input more. The order says which columns the model reads most, and those are the columns where measurement quality and data collection matter most. A short bar marks an input the model barely uses, which is a fact about this model and not a verdict on the column. Importance describes the model's reliance and nothing more: an input can rank high because it stands in for something the data does not contain. Where the search measured it, an input also carries the direction in which the model's output moves as the input rises, counted on the rows the search trained on, and the change of the output when the input alone goes from its first to its third quartile; both describe the formula inside the observed range and say nothing about causes.

6.1.4 Baselines

The model beats the strongest simple yardstick, a straight line through the data, by 47 points of variance explained on the 800 held-out rows. Row by row the margin is medium: the structure is real but not overwhelming. Of the 800 held-out rows where the two differ, the model is closer on 87% (95% interval 84% to 89%).

Best yardstick's score
0.4935 (95% CI 0.438 to 0.5391)
Best baseline R²
0.4935
Effect size d
0.7379 (95% CI 0.6912 to 0.7955)
Effect size d magnitude
medium
Margin over the best yardstick
0.4673 (95% CI 0.419 to 0.522)
Margin's interval stays above zero
Yes
Model MAE
0.7756 (95% CI 0.7112 to 0.8433)
Model
0.9608 (95% CI 0.9517 to 0.9678)
Model R²
0.9608 (95% CI 0.9517 to 0.9678)
Held-out rows
800
Held-out rows without an answer
0
Target
Temperature
Rows where the model is closer
87% (95% CI 84.49% to 89.15%)
Rows compared
800
Rows level
0
Regression yardstick trained with gaps filled (too few complete rows)
No
Training rows of the regression yardstick
3200

How to read this

The table scores the model for Temperature against simple yardsticks on the same held-out rows. A yardstick is a predictor simple enough to need no explanation: a constant (the average, the middle value, the most common class or level, the average count), a plain regression on the numeric inputs (a straight line, a logistic regression, a Poisson regression), and for a series over time a forecast from its own past (the last value, the value one season back, the recent trend extended). Which of them appear depends on what kind of column Temperature is. They are yardsticks only: the analysis has one model, and it is the last row. A regression yardstick answers every row the model answers: where one of its numeric inputs is empty, it reads the average of that input over the training rows. Nothing is filled in for the model. A yardstick whose row is empty could not be scored, and the summary then says what the margin is measured against.

Read the columns from top to bottom. Each kind of target is scored by the measure it is judged on: R² and MAE for a continuous value, with MASE added for a series (below 1 means a typical miss is smaller than the series' usual step from one row to the next); accuracy and balanced accuracy for a yes/no value, with the Brier score where a probability is predicted; accuracy and macro F1 for a class; weighted kappa and the distance in levels for an ordered level; Poisson deviance and RMSE for a count. When the model clears every yardstick by a wide margin, its structure earns its place. When it is level with the regression yardstick, a plain regression describes the data as well. When it is level with the constant, the inputs carry no usable signal for Temperature.

The margin over the best yardstick comes with an interval. When that interval includes zero, the lead is not settled on this many held-out rows. The share of rows on which the model is closer than the best yardstick is counted only on the rows where the two differ; for a yes/no value or a class these are the rows where the two disagree.

6.1.5 Generalization

The model explains held-out rows about as well as training rows (held-out R² 0.961 on 800 rows, gap between training and held-out R² -0.00839): it generalizes. The structure the formula encodes carries from the training rows to the held-out rows.

Generalization gap
-0.008388
N test
800
Target
Temperature
Test error
0.7756 (95% CI 0.7112 to 0.8433)
Test R²
0.9608 (95% CI 0.9517 to 0.9678)
Train error
0.05047
Train R²
0.9524
Verdict
Generalizing

How to read this

The chart sets the score of the Temperature model on the rows it trained on beside its score on the held-out rows it never saw, and the gap between the two bars is the finding. The score is the one that suits the target: R² for a quantity, balanced accuracy for a yes/no target, weighted kappa for ordered levels. The held-out figure carries a bootstrap 95% confidence interval, which says how far it could move with a different held-out draw; the training bar has none, because it is measured on the rows that shaped the model.

The verdict reads from the two figures. Generalizing: the held-out score is strong, or training and held-out agree closely; the structure the formula encodes carries to new rows. Overfit: training is far ahead of held-out and the held-out score is not strong on its own; the formula has absorbed noise from the training rows, and the training figure overstates what to expect on new data. Underfit or noisy: held-out is far ahead of training; this is not strength, it usually means an outlier or a flat region in the training rows that the held-out rows happen to avoid. Insufficient: fewer than 30 held-out rows and no strong held-out score, too little evidence for a negative verdict. A model that predicts the same value for every held-out row gets no verdict: there is nothing that could carry over. In every case the width of the held-out interval says how much weight the gap can bear.

6.1.6 How each term responds to its inputs

Read as a sum, the formula has 5 additive terms: 4 that read an input and a constant base. Three of those that read an input carry 100% of the variation of the model's output on the 1,600 rows the search trained on: -14.5 × tanh(0.0021 × Depth) (68%), -8.06 × tanh(-log10(e) + 0.015 × Depth)^2 (26%) and -72.8 × tanh(0.4127 + 0.000013 × Depth) (6.7%). A share describes the model's output, not the target. Each curve below shows one term's response to its free inputs, with the other inputs held at the training median.

Additive
Yes
Rows the search trained on, measured
1600
Terms in the formula
5
Notation
56.05 − 8.06 × tanh(-0.4343 + 0.015 × Depth)^2 − 72.8 × tanh(0.4127 + 0.000013 × Depth) − 14.5 × tanh(0.0021 × Depth) + 0.25 × tanh(Depth^2)
Target
Temperature

How to read this

The formula for Temperature is split into its additive terms, and each term is traced as one of its inputs moves across the training range while the other inputs stay at their medians. Each curve is therefore a profile of the term at the typical row, not an average over the data: it shows what the term contributes at every value of that input when everything else is ordinary.

A term that depends on several inputs gets one curve per input; a constant term gets none. Terms the formula subtracts are drawn with their sign, so a curve below zero pulls the prediction down. At any fixed row, the terms add up to the model's prediction. Where the search measured it, a term also carries its share of the variation of the model's output on the rows the search trained on; that is a share of what the formula returns, not of Temperature itself. The notebook lets the reader trim each range to the central 95% of the input. When the formula has no additive structure, the chapter traces the whole formula as a single term along each of its inputs, and the Sensitivity chapter is the better read for how the inputs combine.

6.1.7 How the formula behaves outside the data

The model stays finite as every input moves past its observed range, with no poles or domain edges, so extrapolation is mathematically well-behaved.

Table 6.1.7 · Bounded parts of the formula
PartKindCan takeTook on the rows the search trained on
tanh(-0.4343 + 0.015 × Depth)Saturating-1 to 1-0.4089 to 1
tanh(0.4127 + 0.000013 × Depth)Saturating-1 to 10.3908 to 0.4406
tanh(0.0021 × Depth)Saturating-1 to 10 to 1
-tanh(Depth^2)Saturating-1 to 1-1 to 0
Bounded at infinity
Yes
Rows the search trained on, measured
1600
Inputs the formula reads
1
N singularities
0
Target
Temperature
Table 6.1.7 · Limits at neg infinity
InputKind
DepthFinite
Table 6.1.7 · Limits at pos infinity
InputKind
DepthFinite

How to read this

The formula for Temperature is read as a mathematical object, without data, to state how it behaves beyond the range it was trained on. A black box cannot answer that question; a formula can. For each input the chapter reports the limit as the input grows without bound in either direction (whether the formula diverges, settles to a finite value or oscillates, with the sign tracked exactly, so that a term like minus two times the cube of the input is reported as diverging downward on the right and upward on the left), whether the formula stays finite in every direction, and any singularity with its solved location: a division whose denominator reaches zero, a logarithm or square root whose argument leaves its domain, or a periodic pole.

The inputs along which the formula diverges or meets a singularity are listed as the risky ones; along them the formula's shape gives no support for extrapolation. A formula that stays finite everywhere with no singularity carries no structural hazard when extrapolated; the data still ends where it ends, and a prediction outside the training range remains unsupported by evidence. The plain-language summary at the end states the same facts in one paragraph.

6.1.8 Contributions per term
Additive
Yes
N rows
5

The notebook draws this chapter's figure from each held-out row; the row-by-row detail is there.

How to read this

For up to five representative held-out rows, the chapter draws one bar chart showing how each additive term of the formula builds that row's prediction of Temperature. The five rows are the worst prediction (largest absolute residual), the best (smallest), the median miss, the row with the smallest prediction and the row with the largest. When two roles fall on the same row, which is common with few held-out rows, the earlier role keeps it and fewer than five charts appear.

In each chart the bars stack the terms' contributions at the row's input values, terms the formula subtracts sit below zero, and the bars sum to the prediction. The dashed line marks the actual value; the distance between it and the top of the stack is the residual. The bars are evaluated at the same precision as the predictions, so they agree with the Prediction Chart. When the formula has no additive structure, each chart holds one bar for the whole formula, and the Sensitivity chapter is the better read for how individual inputs move it.

6.1.9 What each term is worth

Full-formula R² is 0.961. Each bar below shows how much R² drops when that term is replaced by its mean contribution. Large drop: load-bearing term; near zero: decoration the formula could lose; negative: overfit signal (ablation improves R²).

Additive
Yes
Baseline R²
0.9608
Held-out rows
800

The notebook draws this chapter's figure from each held-out row; the row-by-row detail is there.

How to read this

For each additive term of the formula for Temperature, the chart shows how much the held-out R² drops when that term is replaced by its mean contribution, so that it no longer varies from row to row. The bars are sorted from the largest drop down, and the dashed line marks the R² of the full model.

A large drop means the term carries real predictive work; the complexity it adds is paid for. A small drop means the term adds little beyond its average value: it may refine a stronger term, or its curve in the chapter "How each term responds to its inputs" may be nearly flat. A negative drop means the held-out R² rises without the term, which is a sign that the term tracks noise in the training rows. Each figure describes what a term contributes inside the model as discovered; the chart diagnoses the model, it is not a guide to removing terms. When the formula has no additive structure, the chart shows one bar for the whole formula.

6.1.10 What-If
Table 6.1.10 · The prediction at the typical row: every input at its median or most common value
ItemValue
Depth858
Term 1 adds56.05
Term 2 adds-8.06
Term 3 adds-29.13
Term 4 adds-13.73
Term 5 adds0.25
Prediction5.376
Additive
Yes
Expected coverage
0.8978
Held-out rows for the interval
800
Rows inside the interval
726
Terms in the formula
5
Residual P5
-1.793
Residual P95
2.079
Residual std
1.236

How to read this

The chapter shows the model's prediction for Temperature at one input combination, with the contribution of each term stacked beneath it. The inputs start at their training medians, so the first view is the prediction for a typical row, and each input can move within the range the training rows cover; the notebook lets the reader change the inputs and watch the prediction and the stack update.

In the stack, a long bar marks the term that dominates at this input combination, often the one whose removal costs most in the chapter "What each term is worth". A short bar marks a term that makes a small adjustment here; the chapter "How each term responds to its inputs" shows whether it stays small everywhere or grows toward the edges of the range. A negative bar marks a term that pulls the prediction down at this point, either because the formula subtracts it or because it evaluates below zero.

The inputs stay inside the training range for a reason: the formula computes a value anywhere, but outside that range no training row supports it. When the formula has no additive structure, the stack holds a single bar for the whole formula and the inputs move the prediction directly.

6.1.11 Sensitivity

The prediction responds to 1 input. The formula is additive: each curve below shows the change in the prediction per unit of one input (∂ŷ/∂xᵢ) independently. Flat curves mean a constant linear response, bent curves a non-linear response that depends on the position in the range, and zero crossings a response that reverses sign between regions.

Additive
Yes
Terms in the formula
5

How to read this

For each input, the chart traces the rate at which the predicted Temperature changes as that input moves across its training range, with the other inputs held at their medians. The rate is the local slope of the prediction with respect to the input, measured by a small finite difference at each point. A table summarizes each input with the mean, minimum and maximum of the absolute slope, which ranks the inputs by how strongly the prediction responds to them.

A flat curve means the model is close to linear in that input: the prediction responds at the same rate everywhere in the observed range, which is easy to state and says nothing about values beyond that range. A curve that grows or shrinks marks diminishing or accelerating returns, and whether that is plausible is a question for the domain. A curve that crosses zero means the prediction rises with the input in one part of the range and falls in another, which is either a real optimum or a sign that the formula bends around a few rows. A curve with a large magnitude marks an input to which the prediction is highly responsive; the chapter "What each term is worth" says whether the term behind it also carries predictive work.

In the table, the mean absolute slope ranks the inputs by typical responsiveness. A minimum close to the maximum means the responsiveness is nearly constant; a wide gap means it varies strongly across the range. The chapter reads the whole formula, so it applies whether or not the formula splits into terms.

6.1.12 How two inputs act together

The formula reads one input, so there is no pair of inputs that could act together. How the model's output moves with that input is in the chapter "How each term responds to its inputs".

Additive
Yes
Inputs in different terms act separately
Yes
Rows the search trained on, measured
1600
Terms in the formula
5
Input pairs not tested
0

How to read this

When a single term of the formula combines two or more inputs, the prediction's response to one of them depends on the value of the other. This chapter draws one surface for each such pair: the predicted Temperature across the plane of the two inputs, with every other input held at its training median. Pairs that never share a term have no interaction by construction, and the curves in the chapter "How each term responds to its inputs" already say everything about them. Where the search tested a pair, the summary says on how many pairs of rows the two inputs acted together in the model's output; that is a statement about the formula, not a finding that the data hold no other interaction.

Parallel stripes mean the two inputs act almost independently, so the surface is close to a sum of two one-input curves. Curved contours mean a real interaction, where the slope along one input changes with the other; the location of the peak or trough matters. A saddle, rising along one axis and falling along the other, marks a trade-off between the two. A sharp edge or cliff means the formula encodes a change of regime, and the curve for the same input in the chapter "How each term responds to its inputs" shows whether the bend appears there too.

The grid is deliberately coarse, and the color scale runs from low to high predictions. When the formula has no additive structure, the single whole-formula term holds every input, so every pair appears; the number of surfaces is capped for models with many inputs.

6.1.13 Worst Predictions

The worst held-out row was missed by 7.02 (target's scale). The 10 rows with the largest absolute residuals out of 800 held-out rows are shown. Each card breaks the failure down into per-term contributions and input values, so the failure mode is inspectable. A large residual with one concentrated term contribution means one term got this row wrong; a large residual with balanced contributions means a structural mismatch.

Table 6.1.13 · Worst Predictions
ActualPredictedResidualDepth
24.5417.52+7.02126
17.5224.46-6.9560
14.1820.28-6.1095.1
14.5520.62-6.0792
24.8519.57+5.28102
27.2522.06+5.1879.7
20.5125.47-4.9650.7
17.4822.28-4.8177.9
20.0115.31+4.70166
25.3220.62+4.6992
Additive
Yes
Expected coverage
0.8978
N extrapolated
0
Held-out rows
800
Held-out rows for the interval
800
Rows inside the interval
726
Residual P5
-1.793
Residual P95
2.079
Residual std
1.236

How to read this

The held-out rows on which the model misses Temperature by the most, sorted by absolute residual with the largest first and capped at ten. Each card shows the row's actual value, the prediction, the residual, the contribution of every additive term at that row and the row's input values. R² and MAE say how good the model is on average; these cards say where it fails and let each failure be read input by input and term by term.

A large residual with one dominant term means that term produced the wrong value at this row; the row's value for that input, read against its curve in the chapter "How each term responds to its inputs", shows whether it fell in a region the formula models poorly. A large residual with balanced contributions means every term was a little off and the sum still missed, which points to a shape the formula cannot represent in that region. Residuals that change sign from card to card mean the misses are not a consistent bias but scattered errors on particular rows. When the formula has no additive structure, each card shows a single whole-formula contribution.

6.1.14 Prediction Interval Coverage

Across 800 held-out rows, the 95% prediction interval actually covers 93.7% of the rows. The normal band is wider than needed for this residual distribution (worst gap 18.1 percentage points), often because a few large residuals inflate σ above what the bulk requires. Real uncertainty for typical rows is tighter than the interval suggests.

Table 6.1.14 · Prediction Interval Coverage
Nominal levelHalf-widthEmpirical coverage
50%0.8335545 of 800 (68.13%)
80%1.584692 of 800 (86.5%)
90%2.033723 of 800 (90.38%)
95%2.422750 of 800 (93.75%)
Largest miss (percentage points)
18.13
Held-out rows
800
Rows inside the interval
545, 692, 723, 750
Residual P2.5
-2.498
Residual P97.5
2.692
Verdict
Underconfident

How to read this

Each held-out prediction of Temperature carries a prediction interval, and this chapter checks whether that interval covers the actual value as often as it claims. The interval reported with each prediction is built from the held-out residuals themselves: its bounds are the 2.5th and 97.5th percentiles of the residuals added to the prediction, so it is asymmetric when the residuals are skewed and assumes no particular error distribution.

The coverage table checks a second, simpler band: the symmetric interval that a normal error distribution with the residuals' standard deviation would give. At four nominal levels (50%, 80%, 90% and 95%) it lists the half-width of that normal band and the share of held-out rows whose actual value falls inside it. Empirical coverage close to nominal means the residuals are close enough to normal that the two bands agree and the interval can be taken at face value. Empirical coverage below nominal means the normal band is too narrow, the residuals have heavier tails than a normal distribution, and the percentile-based interval is the one to trust. Empirical coverage above nominal means the normal band is wider than the data needs, usually because a few large residuals inflate the standard deviation. Every figure comes from the same held-out residuals the intervals are built from.

6.1.15 Regression Diagnostics

800 held-out residuals, with a spread up to 7.02 in absolute terms. Mean residual is -0.0377, close to zero. The model is approximately unbiased on these held-out rows (a small held-out set makes this less reliable; the Prediction Chart chapter states R² and the mean absolute error with their 95% confidence intervals). The charts below check whether the errors look like noise: a pattern in residuals-vs-fitted or a curving Q-Q means a structural miss. The held-out rows are a random draw, so their order carries no time and the autocorrelation of the residuals is not assessed.

Abs residual vs predicted r
0.5952
Bias
-0.03768
Bias over residual sd
-0.03049
Held-out rows
800
Order
shuffled
Residual sd
1.236
Share within normal band
0.9375

The notebook draws this chapter's figure from each held-out row; the row-by-row detail is there.

How to read this

Four residual diagnostics for Temperature, all computed from the held-out residuals. Each asks in its own way whether the model's errors look like noise, which is what remains when a model has captured all the structure the data holds.

Residuals against predicted values: Each held-out row is plotted with the model's prediction on the horizontal axis and its residual on the vertical axis, around a zero line. A symmetric cloud around zero means errors of similar size across the predicted range and no systematic bias. A funnel or fan means the size of the errors depends on the predicted value: the model is more uncertain in some regions than in others, and its prediction interval is not equally trustworthy everywhere. A curved pattern, a smile or a frown, means the model misses a structural component; the chapters "How each term responds to its inputs" and "How two inputs act together" show the shapes the formula does capture.

Normal Q-Q plot: The sorted residuals are plotted against the quantiles of a normal distribution, with the diagonal marking a perfectly normal set of residuals. Points that hug the line mean approximately normal residuals, so the normal band in the Prediction Interval Coverage chapter will hold. An S-shape means heavier or lighter tails than normal; heavier tails (below the line at the left, above it at the right) mean the model occasionally produces large errors. A banana or arc means skewed residuals: the model is systematically high or low in part of the range.

Histogram: The residuals binned into equal-width intervals. A bell centered on zero means symmetric errors with no bias. An off-center bell means the model is biased, with a mean error away from zero. A long tail or two peaks mean outliers or two regimes inside the prediction range.

Autocorrelation: For each lag, the correlation of the residual sequence with itself shifted by that many rows, with the band that pure noise would stay inside at plus or minus 1.96 divided by the square root of the row count. Bars inside the band mean uncorrelated residuals with no order-dependent structure left. A bar at lag 1 outside the band means the residuals of neighboring dates correlate: structure in time that the model has not captured. A wave across the lags means periodic structure remains, and the Time Series chapter in the Data section is where to look for its period.

Autocorrelation carries meaning only when the row order itself does. When the data has a date column, the held-out rows are the most recent ones in date order, and the autocorrelation is assessed. Without a date column the held-out rows are a random draw: the row after a held-out row is an arbitrary other row, so the autocorrelation is not assessed and the summary above says so.

6.1.16 Search Progress

The search ran for 95 generations, ending at quality 0.946 (gain +0.00268 from generation 2). The curve is essentially flat: either the search converged in the first few generations or the problem is fundamentally hard at this complexity limit.

First generation
2
First quality
94.38%
Last generation
96
Last improvement ms
12,697,264
Last quality
94.64%
Max quality
94.64%
N points
95
N total generations
95
Search time ms
14,400,229
Stop reason
Maximum runtime reached

How to read this

The line traces the best quality the search for the Temperature model had reached at each generation, from the first generation to the last. Quality is the technology's combined score on the training rows, the figure the Model Metrics chapter defines. A curve that flattens well before the last generation means the search converged: the budget was more than enough, and the model is the one the search settled on. A curve still rising at the last generation means the budget ended before the search settled, and the model is the best the search reached within it. The chart describes the search, not the data: it says whether the search had time to settle, not whether more rows would help.

6.1.17 Model Constraints

Across 800 held-out predictions, the formula is mathematically well-behaved: every output is finite, stays inside the training-target ±2σ band, and no prediction runs away beyond the bounded-prediction limit. It is safe to consume downstream at face value.

Table 6.1.17 · Model Constraints
NameStatusDetail
Output coherentPassno non-finite predictions across 800 rows
Within domainPassno rows outside the training target's ±2σ range across 800 rows
Bounded predictionsPassno runaway predictions beyond ±10σ across 800 rows
Held-out rows
800
N non finite
0
N outside domain
0
N runaway
0
Verdict
Clean

How to read this

Sanity checks on the Temperature formula, run against the held-out rows. Three checks: every prediction is a finite number (output coherent), predictions stay within the range of the training target widened by two standard deviations on each side (within domain), and no single prediction runs away more than ten standard deviations from the training mean (bounded predictions).

These are pass or fail guards, not quality measures: a formula can clear all three and still predict poorly. A failure is the stronger signal. It means the formula misbehaves numerically somewhere in the data it was shown, and any downstream use of it should wait until that is understood.

6.1.18 Modeling

Measured during the search, on the rows the model was trained on

MAE of a straight line through the inputs (same rows)
3.073
RMSE of a straight line through the inputs (same rows)
4.475
Training MAE (rows the search trained on)
0.8712
MAE of always predicting the mean (same rows)
4.744
RMSE of always predicting the mean (same rows)
6.358
Training R² (rows the search trained on)
0.9491
Training RMSE (rows the search trained on)
1.435
Rows the search trained on, measured
1600
Error
5.05%
Inputs the straight line used
1
N train
3200
Quality
94.62%

How to read this

The function below trains the model for Temperature on the processed data. Its output is the model that every other chapter of this section scores and dissects.

6.2 Findings

2 findings from the model diagnostics (2 Warning) are listed in the Concerns chapter at the top of the analysis.

7 Implications

The model explains less of the variance in temperature for rows with Depth in the lowest quarter, while overall coverage on out-of-distribution test rows is 99%. The Concerns chapter details pronounced quality issues for these shallowest Depth rows.

Most notable in the Implications section:

  • The model is far less accurate on rows with Depth in the lowest quarter (1.10 to 357) (7.8 points less variance explained than overall)

How to read this

The Implications section states how to act on the models: the Stakeholder Summary and the Recommended Next Data, where the models hold and where they weaken (Quality by Input Range, Rows unlike the ones the model learned from, Per-Segment Predictions, Fairness), what to weigh before relying on them (Causal Honesty, Deployment Readiness), and the Provenance & Audit trail a reviewer needs to retrace the analysis.

7.1 Recommended Next Data

  • Collect more rows where Depth is in the lowest quarter (1.10 to 357). Reason: the model is far less accurate on the 190 held-out rows where Depth is in the lowest quarter (1.10 to 357), explaining 88% of the variation there.
  • Validate the model's accuracy on cases with high predicted Temperature values. Reason: residual variance grows with predicted value, so model accuracy degrades on higher-magnitude predictions.
  • Add one or more inputs that record additional factors beyond Depth. Reason: Depth alone almost determines Temperature, which suggests there may be other factors affecting Temperature that are not captured in the current data.

7.2 Quality by Input Range

Quality by Input Range splits the held-out rows by every usable input and compares the model's quality on each segment with its quality on all held-out rows. For a number the quality is R², the share of variation explained; for a yes-or-no target it is accuracy, the share of rows classified correctly, the measure the Classification Performance chapter reports. A numeric input is split into quartiles; a categorical input with at most ten values is split by value. A segment with fewer than three held-out rows is left out, because its gap would be noise.

The chart is sorted from the worst gap to the best. Each bar is the segment's figure minus the figure on all held-out rows.

  • Negative bars: the model is weaker on these rows than on all held-out rows. A segment 0.25 or more below the overall value (25 points of accuracy) reads much weaker; a segment 0.10 to 0.25 below reads weaker. These are the segments to treat with caution.
  • Positive bars: the model is stronger on these rows than overall. A strong segment can mask weakness elsewhere, so the negative segments come first.
7.2.1 Temperature by Input Range

Segment depth in the lowest quarter (1.10 to 357) is much weaker than the aggregate (190 held-out rows): segment R² 0.883 against aggregate R² 0.961 (gap -0.0782). A drop this large means the model describes this slice of the data poorly; an input interaction or a missing column may be specific to this subset.

Table 7.2.1 · Temperature by Input Range
SegmentRowsR²Gap to all rowsVerdict
Depth = q11900.8826-0.0782Much weaker than on all rows
Depth = q22080.6887-0.2721In line with all rows
Depth = q3183-0.0044-0.9653In line with all rows
Depth = q42190.8418-0.1191In line with all rows
Aggregate MAE
0.7756
Aggregate R²
0.9608
Measure
r2
Target
Temperature

7.3 Rows unlike the ones the model learned from

11 of 800 held-out rows (1.4%) lie further from the training rows than 99 in 100 rows like them would, measured on the 1 input the model reads (depth). That is a small minority; the held-out figures describe the model on rows like the ones it was trained on.

Table 7.3 · Rows unlike the ones the model learned from
TargetInputs measuredLineHeld-out rowsBeyond the lineShare
TemperatureDepth2.576800111.38%
Table 7.3 · Score bins · 24 of 30 rows shown
CountFromTo
11300.216
1030.2160.433
960.4330.649
1310.6490.866
1240.8661.082
1271.0821.299
751.2991.515
111.5151.731
21.7311.948
31.9482.164

The first 10 rows of 24. The other 14 are in the notebook.

How to read this

Out-of-distribution detection finds held-out rows that lie far from the training rows of a model. It looks only at the numeric inputs the model reads. Each of them is standardized against the mean and standard deviation of the training rows, and the standardized values are combined into one distance per row. The line a row is read against depends on the number of inputs: it is the distance that 99 in 100 rows like the training rows stay below. A row beyond the line is flagged as out of distribution, and the held-out figures are unlikely to apply to it. When the held-out rows resemble the training rows, about one row in a hundred is flagged.

The chart shows one bar per held-out row in row order; the flagged rows are the bars at or above the line. With more than one target, the chart shows the model with the largest flagged share, and the figures name it.

The check treats inputs independently, so it will not notice a rare combination of values that are each ordinary on their own, such as a large height with a small weight. It is a first screen. A decision that depends on catching unusual inputs needs a dedicated check.

7.4 Causal Honesty

Diafunc found a formula that captures the structure in the training data. That structure is correlative: it states what predicts what in this data. It does not establish that any input causes the target.

A correlative model is the right tool for predicting the target on new rows like these, for exploring which inputs carry information about the target, and for an early-stage diagnostic or screening tool.

A correlative model is not the right tool for claiming that intervening on an input will change the target, for attributing a target's values to specific causes for accountability, or for choosing between policies that act on the inputs.

The Quality by Input Range, Fairness and Concerns chapters show the most common confounding patterns in the data.

The model is correlative: it captures which columns predict the target in the training data, not whether changing one would change the other. Predictions are reliable for inputs that look like the training distribution; they are not evidence that intervening on an input will change the target. The 4 upgrade pathways below show what evidence would support a causal claim.

Table 7.4 · Upgrade pathways
NameSummary
Controlled experimentRandomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input.
Natural experimentFind a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference.
Causal graphWrite out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies.
Control for confoundersIf a third variable plausibly moves both the input and the target, stratify by it or condition on it before training again. Gaps in the Quality by Input Range chapter are a clue.

7.5 Deployment Readiness

The analysis ran with the configuration below. The checks and the verdict of this chapter are read against it.

  • Targets: 1 target: temperature
  • Rows: 4,000 rows
  • Per-Segment Predictions: not produced, because no segment column was chosen
  • Fairness: not assessed, because the data has no categorical column other than the target
  • Out-of-Distribution: held-out rows are scored against the training rows; predictions made outside this report are not scored
  • Provenance & Audit: recorded in the chapter of that name

Across 5 checks (4 pass, 1 warns, 0 fail, 1 critical concern), every check passes or warns, but a critical concern is open: Not ready to use yet. The Concerns chapter names what is open; it needs addressing before the predictions are used.

Table 7.5 · Deployment Readiness
NameStatusDetail
GeneralizationPassquality on the held-out rows matches quality on the rows the model was found on
Prediction Interval CoverageWarnintervals are wider than their level requires: the 50% intervals hold 68% of the held-out rows, 18.1 points more
Baseline Lift for TemperaturePassbeats the best baseline, R² lift 0.467
Model ConstraintsPassevery held-out prediction is finite and within the training range
Out-of-DistributionPass1.4% of held-out rows are out of distribution
N critical concerns
1
N fail
0
N pass
4
N warn
1
Overall verdict
Not ready

7.6 Provenance & Audit

This record captures the inputs and configuration that produced the report, so the analysis can be reproduced or the result defended in an audit.

Table 7.6 · Provenance & Audit
ItemValue
Analysis ID8b07f3e0-d520-11f1-a20a-f5aa8d23043d
Run time2026-11-01 02:47 UTC
Total rows4,000
Modeled targetsTemperature
Segment columnnot available
Time limit4 h 0 min
Time taken4 h 2 min
Credit budget4,000 credits
Ufinq version0.3.53

7.7 Findings

1 finding from the implications diagnostics (1 Critical) is listed in the Concerns chapter at the top of the analysis.

8 Data

Both columns are numeric, 100% of rows are complete, and two columns show strong skewness. There is a strong negative correlation between Depth and Temperature, which underlies much of the analysis.

Most notable in the Data section:

  • Depth and Temperature move oppositely (correlation -0.715)

How to read this

The Data section describes the table as supplied, before any modeling: the Column Profiles overview of every column and its role, one chapter per column with its distribution and correlations, a closer look at columns with notable characteristics, Duplicate Rows, Leakage Suspicion, a map for paired coordinate columns, and the General chapter with descriptive statistics, correlations, missing values, outlier ranges, clusters and segments across all columns.

8.1 Column Profiles

Profiled 2 columns across 4,000 rows (2 numeric, 0 non-numeric): every column is at least 75% populated. Distributional statistics on numeric columns can be read at face value. 2 columns are strongly skewed: the mean of such a column is pulled toward its long tail, so the median is the better guide to a typical value.

Table 8.1 · Columns
NameRoleTypeNMissingMeanStdMinP25MedianP75MaxSkewnessCV
TemperatureTargetnumber400008.2826.3320.6494.1985.20010.31829.7731.7930.7646
DepthInputnumber40000943.7699.40.0358.0862.01438.55455.41.1160.7411
N columns
2
N high missing
0
N rows
4000
N strongly skewed
2
Table branch
main
Table ID
e2c704d4-62e2-47d2-9853-08367616d0f0

How to read this

One row per column of the analyzed table: its role in the analysis (the target being predicted, an input it is predicted from, or the segment column), its type, value count and missing count, and for numeric columns the mean, standard deviation, minimum, quartiles, maximum and interquartile range. A column with 25% or more missing values is flagged; its mean and quartiles describe only the rows that have a value.

Two further figures describe the shape of a numeric column. The skewness says whether the values lean to one side: close to zero the column is symmetric, from 0.5 it is moderately skewed and from 1 strongly skewed, with the longer tail on the high side when the figure is positive and on the low side when it is negative. In a strongly skewed column the mean is pulled toward the tail, and the median is the better guide to a typical value. The coefficient of variation is the standard deviation divided by the mean: it compares how widely columns spread regardless of their units, and is given only for a column whose mean is positive.

These are the columns as supplied, before any modeling: the reference against which every later chapter reads.

8.2 Depth

Depth: 0 to 5,455, median 862; moves opposite to Temperature most (r -0.715).

How to read this

A column chapter profiles one column: its distribution in figures and charts, and how it relates to the other columns. It opens with one line on what the column holds. The Description chapter carries its figures, with every other column summarized for each of its values where it has few, and its association with every other column where it is numeric. The Visualization chapter carries its charts. A table with a date column adds an Over Time and a Time Series chapter; a target with classes adds a Class Balance chapter.

8.2.1 Description
Table 8.2.1 · Depth
StatisticValue
Typenumber
Values present4000
Distinct values2550
Continuousyes
Decimal places1
Minimum0
Maximum5455.4
Mean943.7
Median862
Mode1938.0

The first 10 rows of 17. The other 7 are in the notebook.

How to read this

The figures below summarize Depth in numbers: where its values center (mean, median, mode), how far they spread (range, variance, standard deviation, interquartile range) and how they are distributed across percentiles. They are the reference for every chart in the Visualization chapter and for the correlation measures further down.

The figures for Depth are grouped: the column itself first, then where its values center, how far they spread, the shape of their distribution and its percentiles. Each statistic is explained in the Description chapter under General in the Data section.

8.2.1.1 Correlation
Table 8.2.1.1 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Temperaturetwo numbers0.9602-0.7147-0.7295 to -0.6992-0.9602-0.8436< 0.0014000

How to read this

Each row pairs Depth with one other column, numeric or categorical, and reports how strongly the two go together on an association from 0 to 1, and whether an association this strong could be chance. For another numeric column the row adds the direction: Pearson's coefficient measures a straight-line relationship, and Spearman's rho and Kendall's tau measure a monotonic relationship on ranks, which makes them resistant to outliers and lets them see a curved but consistently rising or falling pattern. For a categorical column the association is the correlation ratio η, which has no direction. A strong association is not an explanation: two columns can go together when a third one moves both.

The table lists every other numeric or categorical column against Depth, with the pair's kind and association, three correlation coefficients and a confidence interval where the other column is numeric, the q-value and the rows the pair was measured on.

Table 8.2.1.1 · Correlation
MeasureMeaning
KindWhat the other column holds: a number (numeric) or categories (numeric_categorical). A categorical column is one that is not numeric and holds between 2 and 50 distinct values
AssociationThe strength of the pair from 0 to 1. With a numeric column: the stronger of Pearson's coefficient and Spearman's ρ, without its sign. With a categorical column: the correlation ratio η, the square root of the share of Depth's spread that lies between the categories
CovarianceNumeric partner only. The direction of the relationship (positive or negative) in the units of the two columns. It is not standardized, so its size says little about strength without the columns' own spread
Pearson's Correlation CoefficientNumeric partner only. The strength and direction of a linear relationship, from -1 (a perfect falling line) through 0 (no linear relationship) to 1 (a perfect rising line)
Spearman's ρNumeric partner only. The strength and direction of a monotonic relationship, computed on ranks rather than values, from -1 to 1. It follows a curved pattern as long as it rises or falls consistently, and outliers move it little
Kendall's τNumeric partner only. The strength and direction of association from the agreement and disagreement of rank order across pairs of rows, from -1 to 1. It is the steadier of the two rank measures when the rows are few
q-valueHow likely a pair this strong is among unrelated columns, adjusted for the number of pairs involving Depth (Benjamini-Hochberg). Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries
95% CI (Pearson)Numeric partner only. The lower and upper bounds of the 95% confidence interval on the Pearson coefficient, from the Fisher z-transform. An interval that contains 0 leaves the direction of the relationship open
RowsThe rows in which both columns hold a value. The q-value and the interval of a pair rest on this count
8.2.2 Visualization

The rows of Depth are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of 0.02 between each value and the next), so the order carries no pattern to show.

How to read this

The charts in this chapter were chosen from the type of Depth and of the columns it is compared with: a numeric column gets a histogram, a box plot and, when its row order carries a pattern, a value sequence, a categorical column gets a frequency chart, and its relation to each target of the analysis, and to the segment column when there is one, gets the chart that suits the pair, with the target on the vertical axis where it is a number. A column is not charted against every other column; which columns move together is shown under Strongest Correlations. The charts complement the figures in the Description chapter; the shape of a distribution and the position of its outliers are easier to see than to read.

8.3 Temperature

Temperature: 0.649 to 29.8, median 5.20, skewed to high values; moves opposite to Depth most (r -0.715).

8.3.1 Description
Table 8.3.1 · Temperature
StatisticValue
Typenumber
Values present4000
Distinct values3073
Continuousyes
Decimal places4
Minimum0.649
Maximum29.77
Mean8.282
Median5.2
Mode3.897

The first 10 rows of 17. The other 7 are in the notebook.

8.3.1.1 Correlation
Table 8.3.1.1 · Correlations
ColumnPair ofAssociationPearson's r95% CI (Pearson)Spearman's ρKendall's τq-valueRows
Depthtwo numbers0.9602-0.7147-0.7295 to -0.6992-0.9602-0.8436< 0.0014000
8.3.2 Visualization

The rows of Temperature are not charted in their order: consecutive rows are no more alike than rows picked at random (a correlation of -0.01 between each value and the next), so the order carries no pattern to show.

8.4 Duplicate Rows

Across 4,000 rows the table has 6 exact-duplicate rows (0.2% of the table; biggest duplicate group 2 rows). Below 1% is typically benign, occasional rounding-encoded collisions or a repeated import, but worth a spot-check before downstream modeling.

Largest group size
2
N exact duplicates
6
N exact groups
3
N rows
4000
N unique
3997
Pct exact duplicates
0.15
Verdict
Minor

How to read this

This chapter counts rows that repeat another row exactly, value for value: how many rows take part in a duplicate group, how many groups exist, and how large the largest group is.

Duplicate rows inflate the apparent row count and can place identical rows on both sides of the training and held-out split, which flatters every quality figure in this report. Only exact repeats are detected here; rows that differ by a rounding digit or a whitespace variant count as distinct.

8.5 Leakage Suspicion

1 column tracks a target at 0.95 or more (strongest 0.96). The coefficients cannot tell a strong input from a leak. A column known before the target exists is a strong input, and the quality stated in this report is real. A column computed from the target, or recorded after it, will not be available on new data, and the quality is not. The answer has to come from someone who knows where the column came from.

Critical threshold
0.999
N confirmed
0
N critical
0
N suspects
1
Threshold
0.95
Verdict
Suspected
Table 8.5 · Suspects
Abs pearsonAbs spearmanAssociationColumnCriticalPearsonSpearmanTarget
0.7150.960.96DepthNo-0.7147-0.9602Temperature

How to read this

For every column that is not a target, this chapter reads how closely the column tracks each target, on an association from 0 to 1, and lists any pair at 0.95 or more. For two numeric columns the association is the stronger of Pearson's r and Spearman's rho; when the column or the target is categorical it is the correlation ratio η, or Cramér's V when both are. At 0.999 or more the column reproduces the target: that is what a copy or a rescaled copy of it looks like.

A listed column poses one question: is its value known before the target's value exists? If it is, the column is a strong input and the quality stated in this report is real. If it was computed from the target or recorded after it, a formula that reads it looks right on these rows and will not hold on new data. The coefficients read the same in both cases; the answer needs someone who knows where the column came from.

The owner of the analysis can give that answer. A column confirmed as known before the target is listed as confirmed and is no longer a suspect. A column that turns out to be a leak is left out of the model's inputs, and the analysis run again.

8.6 General

Clustering was not assessed: grouping rows needs at least two numeric columns with spread besides the targets.

Clear silhouette
0.5
Columns
Depth
N columns offered
1
N columns used
1
N rows
4000
N rows complete
0
Reason
too_few_columns
Targets excluded
Yes
Verdict
Not assessed

How to read this

The General chapter covers what holds across all columns together: descriptive statistics, correlations, missing values and outlier ranges under Description, the Clusters found among the rows, and, when a segment column was chosen, the Segments.

8.6.1 Description
Table 8.6.1 · Columns
VariableTypeValues presentDistinct valuesContinuousDecimal places
Depthnumber40002550yes1
Temperaturenumber40003073yes4
Table 8.6.1 · Center
VariableMeanMedianMode
Depth943.78621938.0
Temperature8.2825.23.897
Table 8.6.1 · Spread
VariableMinimumMaximumStandard deviationVarianceInterquartile rangeSum
Depth05455.4699.4489,1291080.53,774,752
Temperature0.64929.776.33240.16.1233128.5
Table 8.6.1 · Shape
VariableSkewnessKurtosisTotal sum of squares
Depth1.1162.8761.956e+09
Temperature1.7932.473160,353

How to read this

This chapter summarizes every column at once: the descriptive statistics table below, then Correlation, Missing Values and Outliers. For a numeric column the table reports its center (mean, median, mode), its spread (standard deviation, variance, interquartile range, percentiles) and its shape (skewness, kurtosis); for a categorical column it reports the count and share of each category.

Each row of the tables describes one column. The statistics are grouped: the column itself, where its values center, how far they spread, what shape their distribution takes, and its percentiles. They read as follows.

Table 8.6.1 · Description
StatisticExplanation
VariableName of the column the statistics in the row describe
TypeType assigned during data processing (bool, integer, number, decimal, text or date)
Values presentNumber of rows in which the column holds a value
Distinct valuesNumber of different values the column holds
ContinuousWhether the column can take any value in a range, as opposed to a discrete column limited to a fixed set of values
Decimal placesLength of the fractional part of the values
MeanArithmetic average: the sum of all values divided by the number of values
MedianThe middle value: half of the values lie at or below it and half at or above it. It is also the 50% percentile
ModeThe value that appears most often
MinimumSmallest numeric value in the column

The first 10 rows of 20. The other 10 are in the notebook.

8.6.1.1 Missing Values

No column has a missing value: all 4,000 rows are complete.

N columns with missing
0
N complete rows
4000
N rows
4000
Pct complete rows
100

How to read this

The table lists, for each column, the count of present values (Values) beside the row count of the processed table (Rows), the number of missing values and their share. The larger the share, the less any statistic or model built on the column can be trusted.

  • Below 5% missing: safe to use as it is.
  • 5% to 25% missing: usable; filling the gaps or excluding those rows is worth considering.
  • 25% or more missing: the column is flagged and receives its own chapter in the Data section. Verify why so much is missing before trusting any result that depends on it.

A model is computed only on rows that hold a value in every column it reads, so gaps spread over several columns cost more rows than any one column's share suggests. The last column, Complete rows without, shows for each input with gaps how many rows would be complete if that column were left out; it is blank for a column without gaps, for a target, and for a column no model reads. A column that is the only gap in many rows is the one whose removal keeps the most data.

8.6.1.2 Outliers

2 of 2 numeric columns have values beyond the Tukey fences (1.5 times the interquartile range outside the quartiles). temperature has the largest share: 8.5% of its values. Whether such values are rare but real rows or recording errors decides whether they are kept.

Table 8.6.1.2 · Outliers
ColumnValuesLower fenceUpper fenceBelowAboveShare
Depth4000none below30590521.3%
Temperature4000none below19.49803418.53%
N columns
2
N columns assessed
2
N columns with outliers
2
Worst column
temperature
Worst pct
8.53

How to read this

The table counts the outliers of every numeric column by the Tukey rule. Q1 and Q3 are the values below which 25% and 75% of a column's values fall, and the interquartile range is Q3 minus Q1. The lower fence lies 1.5 times the interquartile range below Q1, the upper fence the same distance above Q3; a value beyond a fence is an outlier. For each column the table gives both fences, how many values lie below and above them, their share of the column's values, and the single value that lies furthest beyond its fence. These are the same fences the box plots draw their whiskers to.

A column is not assessed when it has fewer than four values, or when the middle half of its values sits on a single number: the interquartile range is then zero and the rule would call every other value an outlier.

Extreme values can be real (rare but legitimate rows) or errors (measurement mistakes, data-entry slips). Which case applies decides whether to keep, clip or drop them before trusting a model that uses the column. A strongly skewed column has many values beyond one fence without any of them being wrong.

8.6.1.3 Correlation

1 column pair analyzed across 4,000 rows; 1 (100%) are unlikely to be chance, after allowing for how many pairs were tested. Any other pair may still show a large association, but one that cannot be told apart from chance on the rows the pair was measured on. An association states that two columns go together, not that one brings the other about.

N categorical pairs
0
N mixed pairs
0
N numeric pairs
1
N pairs
1
N samples
4000
N significant
1
Table 8.6.1.3 · Pairs
Association95% CIColumnKendallKindNOther columnPearsonQ valueSpearman
0.9602-0.7295, -0.6992Depth-0.8436numeric4000Temperature-0.7147< 0.001-0.9602

How to read this

This chapter measures how pairs of columns go together: the Correlation Measures table below, the Strongest Correlations, the Correlation Heatmap and, when the analysis has targets, the Potential Data Leaks. Numeric columns and categorical columns are both paired, a categorical column being one that is not numeric and holds between 2 and 50 distinct values. Every pair is stated as an association from 0 (unrelated) to 1 (one column gives the other away), so pairs of different kinds can be compared. An association states that two columns go together, not that one brings the other about.

The table lists every pair of columns once, with its kind, its association, the figures of its kind, its q-value and the number of rows the pair was measured on. A pair is measured on the rows where both columns hold a value.

Table 8.6.1.3 · Correlation
MeasureExplanation
KindWhat the two columns hold: two numbers (numeric), a number and a category (numeric_categorical), or two categories (categorical)
AssociationStrength of the pair from 0 to 1, whatever its kind. Two numbers: the stronger of Pearson's coefficient and Spearman's ρ, without its sign. A number and a category: the correlation ratio η. Two categories: Cramér's V
CovarianceTwo numbers only. Direction of the relationship (positive or negative) in the units of the two columns. It is not standardized, so its size says little about strength without further context
Pearson's Correlation CoefficientTwo numbers only. Strength and direction of a linear relationship, from -1 (perfect negative) through 0 (no linear relationship) to 1 (perfect positive)
Spearman's ρTwo numbers only. Strength and direction of a monotonic relationship, computed on ranks rather than values. It captures relationships that consistently rise or fall even when they are not linear, and it is less affected by extreme values
Kendall's τTwo numbers only. Strength and direction of a monotonic relationship based on the concordance of ranks between the two columns. More conservative than Spearman's ρ, and steadier on small tables
Correlation ratio ηA number and a category. The square root of the share of the number's spread that lies between the categories, from 0 (every category has the same average) to 1 (the category fixes the number). For a category of two values it equals the absolute Pearson coefficient with the category coded 0 and 1. Its square, η², is that share: an η of 0.6 means the categories account for 36% of the spread
Cramér's VTwo categories. How far the table of counts of the two columns departs from what unrelated columns would give, from 0 (unrelated) to 1 (each value of one column goes with one value of the other), corrected so that columns with many rare values do not read as related
q-valueHow likely a pair this strong is among unrelated columns, adjusted for the number of pairs listed (Benjamini-Hochberg false-discovery rate). Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries. The right measure for ranking many pairs
95% CI (Pearson)Two numbers only. Lower and upper bounds of the 95% confidence interval on the Pearson coefficient, via the Fisher z-transform, on the rows the pair was measured on. A narrow interval means the coefficient is well estimated; a wide interval that straddles zero means the relationship is uncertain

The first 10 rows of 12. The other 2 are in the notebook.

8.6.1.3.1 Strongest Correlations

The 20 pairs of columns with the smallest q-values: the associations that remain significant after the Benjamini-Hochberg adjustment for the number of pairs tested. Among all pairs reported with q below 0.05, about 5% or fewer are expected to be false discoveries; a pair above 0.05 may be coincidence even when its association looks strong.

A pair with an association above 0.9 often signals a duplicate or derived column. Moderately strong pairs with a low q-value are the relationships most worth investigating.

Each listed pair is drawn below, the picture behind the figure. Two numbers are drawn as a scatter, one point per row, the quickest way to see whether a strong value rests on a trend or on a few rows far from the rest. A number and a category are drawn as the number's box plot per category. Two categories are drawn as a heat map of how many rows hold each combination of values.

8.6.1.3.3 Potential Data Leaks

The table lists the association between every column and each target, whatever the two hold, with its q-value. An association close to 1 with a target, together with a q-value near zero, is one of two things: a strong input, or a data leak, a column derived from the target after the fact, such as a tax amount computed from the price being predicted. A leaked column trains a model that looks perfect and fails on new data, because the leak is not available at prediction time.

The Leakage Suspicion chapter in the Data section lists the pairs at 0.95 or more and marks those at 0.999 or more, where a column reproduces the target. For two numbers the association is whichever of Pearson's r and Spearman's rho is the stronger, because a column derived from the target often follows a curve rather than a line: the log of a price tracks the price perfectly, and Pearson alone reads that as weaker than it is. For a number and a category it is the correlation ratio η, and for two categories Cramér's V. Whether a listed column is a strong input or a leak depends on whether it is known before the target exists, which the owner of the analysis can confirm.

Loading Diafunc…