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)Held-out diagnostics
| Target | Quality | Error | R² | MAE | Search rows | Generalization | Rows |
|---|---|---|---|---|---|---|---|
| Temperature | 95.98% | 3.92% | 0.9608 | 0.7756 | 3200 | generalizing | 800 |
- 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.
- Depth is the only input the formula reads. Everything the formula explains about Temperature comes from Depth.
- 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.
- 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.
| Input | Share of importance | Permutation importance | Sensitivity | Residual correlation | Occurrences | Model's output as the input rises | Change, first to third quartile |
|---|---|---|---|---|---|---|---|
| Depth | 100% | 41.13 | 0.0184 | -0.06 | 1 | Rises 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.
| Segment | Rows | R² | Gap to all rows | Verdict |
|---|---|---|---|---|
| Depth = q1 | 190 | 0.8826 | -0.0782 | Much weaker than on all rows |
| Depth = q2 | 208 | 0.6887 | -0.2721 | In line with all rows |
| Depth = q3 | 183 | -0.0044 | -0.9653 | In line with all rows |
| Depth = q4 | 219 | 0.8418 | -0.1191 | In 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.
| Actual | Predicted | Residual | Depth |
|---|---|---|---|
| 24.54 | 17.52 | +7.02 | 126 |
| 17.52 | 24.46 | -6.95 | 60 |
| 14.18 | 20.28 | -6.10 | 95.1 |
| 14.55 | 20.62 | -6.07 | 92 |
| 24.85 | 19.57 | +5.28 | 102 |
| 27.25 | 22.06 | +5.18 | 79.7 |
| 20.51 | 25.47 | -4.96 | 50.7 |
| 17.48 | 22.28 | -4.81 | 77.9 |
| 20.01 | 15.31 | +4.70 | 166 |
| 25.32 | 20.62 | +4.69 | 92 |
- 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.
| Target | Inputs measured | Line | Held-out rows | Beyond the line | Share |
|---|---|---|---|---|---|
| Temperature | Depth | 2.576 | 800 | 11 | 1.38% |
| Count | From | To |
|---|---|---|
| 113 | 0 | 0.216 |
| 103 | 0.216 | 0.433 |
| 96 | 0.433 | 0.649 |
| 131 | 0.649 | 0.866 |
| 124 | 0.866 | 1.082 |
| 127 | 1.082 | 1.299 |
| 75 | 1.299 | 1.515 |
| 11 | 1.515 | 1.731 |
| 2 | 1.731 | 1.948 |
| 3 | 1.948 | 2.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).
| Severity | Section | Concern | Detail |
|---|---|---|---|
| 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. |
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.
| Name | Status | Detail |
|---|---|---|
| Generalization | Pass | quality on the held-out rows matches quality on the rows the model was found on |
| Prediction Interval Coverage | Warn | intervals are wider than their level requires: the 50% intervals hold 68% of the held-out rows, 18.1 points more |
| Baseline Lift for Temperature | Pass | beats the best baseline, R² lift 0.467 |
| Model Constraints | Pass | every held-out prediction is finite and within the training range |
| Out-of-Distribution | Pass | 1.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.
| Name | Summary |
|---|---|
| Controlled experiment | Randomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input. |
| Natural experiment | Find a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference. |
| Causal graph | Write out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies. |
| Control for confounders | If 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
| Severity | Section | Concern | Detail |
|---|---|---|---|
| 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. |
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
| Target | Formula | Quality | Complexity | Error |
|---|---|---|---|---|
| Temperature | 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) | 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:
Depthcarries 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)| Value | Role | Input | Unit |
|---|---|---|---|
| 56.05 | Intercept | Unit of the model's output | |
| -8.06 | Coefficient | ||
| 0.015 | Coefficient | ||
| -72.8 | Coefficient | ||
| 0.4127 | Offset | ||
| 1.300e-05 | Coefficient | ||
| -14.5 | Coefficient | ||
| 0.0021 | Rate | Depth | Per unit of Depth |
| -0.25 | Coefficient |
- 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.
| Metric | Meaning |
|---|---|
| Quality | How 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 |
| Error | How 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 |
| Complexity | The 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.
| Input | Share of importance | Permutation importance | Sensitivity | Residual correlation | Occurrences | Model's output as the input rises | Change, first to third quartile |
|---|---|---|---|---|---|---|---|
| Depth | 100% | 41.13 | 0.0184 | -0.06 | 1 | Rises 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.
| Part | Kind | Can take | Took 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 1 | 0.3908 to 0.4406 |
| tanh(0.0021 × Depth) | Saturating | -1 to 1 | 0 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
| Input | Kind |
|---|---|
| Depth | Finite |
| Input | Kind |
|---|---|
| Depth | Finite |
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
| Item | Value |
|---|---|
| Depth | 858 |
| Term 1 adds | 56.05 |
| Term 2 adds | -8.06 |
| Term 3 adds | -29.13 |
| Term 4 adds | -13.73 |
| Term 5 adds | 0.25 |
| Prediction | 5.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.
| Actual | Predicted | Residual | Depth |
|---|---|---|---|
| 24.54 | 17.52 | +7.02 | 126 |
| 17.52 | 24.46 | -6.95 | 60 |
| 14.18 | 20.28 | -6.10 | 95.1 |
| 14.55 | 20.62 | -6.07 | 92 |
| 24.85 | 19.57 | +5.28 | 102 |
| 27.25 | 22.06 | +5.18 | 79.7 |
| 20.51 | 25.47 | -4.96 | 50.7 |
| 17.48 | 22.28 | -4.81 | 77.9 |
| 20.01 | 15.31 | +4.70 | 166 |
| 25.32 | 20.62 | +4.69 | 92 |
- 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.
| Nominal level | Half-width | Empirical coverage |
|---|---|---|
| 50% | 0.8335 | 545 of 800 (68.13%) |
| 80% | 1.584 | 692 of 800 (86.5%) |
| 90% | 2.033 | 723 of 800 (90.38%) |
| 95% | 2.422 | 750 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.
| Name | Status | Detail |
|---|---|---|
| Output coherent | Pass | no non-finite predictions across 800 rows |
| Within domain | Pass | no rows outside the training target's ±2σ range across 800 rows |
| Bounded predictions | Pass | no 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
Depthin 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.
| Segment | Rows | R² | Gap to all rows | Verdict |
|---|---|---|---|---|
| Depth = q1 | 190 | 0.8826 | -0.0782 | Much weaker than on all rows |
| Depth = q2 | 208 | 0.6887 | -0.2721 | In line with all rows |
| Depth = q3 | 183 | -0.0044 | -0.9653 | In line with all rows |
| Depth = q4 | 219 | 0.8418 | -0.1191 | In 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.
| Target | Inputs measured | Line | Held-out rows | Beyond the line | Share |
|---|---|---|---|---|---|
| Temperature | Depth | 2.576 | 800 | 11 | 1.38% |
| Count | From | To |
|---|---|---|
| 113 | 0 | 0.216 |
| 103 | 0.216 | 0.433 |
| 96 | 0.433 | 0.649 |
| 131 | 0.649 | 0.866 |
| 124 | 0.866 | 1.082 |
| 127 | 1.082 | 1.299 |
| 75 | 1.299 | 1.515 |
| 11 | 1.515 | 1.731 |
| 2 | 1.731 | 1.948 |
| 3 | 1.948 | 2.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.
| Name | Summary |
|---|---|
| Controlled experiment | Randomize the input to be acted on, then analyze again. Randomization breaks confounding, so any change in the target is attributable to the input. |
| Natural experiment | Find a setting where the input varied for reasons unrelated to the target, an instrumental variable. Variation of that kind supports causal inference. |
| Causal graph | Write out what plausibly causes what, then check whether the model's terms are consistent with the conditional independences the graph implies. |
| Control for confounders | If 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.
| Name | Status | Detail |
|---|---|---|
| Generalization | Pass | quality on the held-out rows matches quality on the rows the model was found on |
| Prediction Interval Coverage | Warn | intervals are wider than their level requires: the 50% intervals hold 68% of the held-out rows, 18.1 points more |
| Baseline Lift for Temperature | Pass | beats the best baseline, R² lift 0.467 |
| Model Constraints | Pass | every held-out prediction is finite and within the training range |
| Out-of-Distribution | Pass | 1.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.
| Item | Value |
|---|---|
| Analysis ID | 8b07f3e0-d520-11f1-a20a-f5aa8d23043d |
| Run time | 2026-11-01 02:47 UTC |
| Total rows | 4,000 |
| Modeled targets | Temperature |
| Segment column | not available |
| Time limit | 4 h 0 min |
| Time taken | 4 h 2 min |
| Credit budget | 4,000 credits |
| Ufinq version | 0.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:
DepthandTemperaturemove 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.
| Name | Role | Type | N | Missing | Mean | Std | Min | P25 | Median | P75 | Max | Skewness | CV |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Temperature | Target | number | 4000 | 0 | 8.282 | 6.332 | 0.649 | 4.198 | 5.200 | 10.318 | 29.773 | 1.793 | 0.7646 |
| Depth | Input | number | 4000 | 0 | 943.7 | 699.4 | 0.0 | 358.0 | 862.0 | 1438.5 | 5455.4 | 1.116 | 0.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
| Statistic | Value |
|---|---|
| Type | number |
| Values present | 4000 |
| Distinct values | 2550 |
| Continuous | yes |
| Decimal places | 1 |
| Minimum | 0 |
| Maximum | 5455.4 |
| Mean | 943.7 |
| Median | 862 |
| Mode | 1938.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
| Column | Pair of | Association | Pearson's r | 95% CI (Pearson) | Spearman's ρ | Kendall's τ | q-value | Rows |
|---|---|---|---|---|---|---|---|---|
| Temperature | two numbers | 0.9602 | -0.7147 | -0.7295 to -0.6992 | -0.9602 | -0.8436 | < 0.001 | 4000 |
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.
| Measure | Meaning |
|---|---|
| Kind | What 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 |
| Association | The 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 |
| Covariance | Numeric 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 Coefficient | Numeric 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-value | How 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 |
| Rows | The 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
| Statistic | Value |
|---|---|
| Type | number |
| Values present | 4000 |
| Distinct values | 3073 |
| Continuous | yes |
| Decimal places | 4 |
| Minimum | 0.649 |
| Maximum | 29.77 |
| Mean | 8.282 |
| Median | 5.2 |
| Mode | 3.897 |
The first 10 rows of 17. The other 7 are in the notebook.
8.3.1.1 Correlation
| Column | Pair of | Association | Pearson's r | 95% CI (Pearson) | Spearman's ρ | Kendall's τ | q-value | Rows |
|---|---|---|---|---|---|---|---|---|
| Depth | two numbers | 0.9602 | -0.7147 | -0.7295 to -0.6992 | -0.9602 | -0.8436 | < 0.001 | 4000 |
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
| Abs pearson | Abs spearman | Association | Column | Critical | Pearson | Spearman | Target |
|---|---|---|---|---|---|---|---|
| 0.715 | 0.96 | 0.96 | Depth | No | -0.7147 | -0.9602 | Temperature |
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
| Variable | Type | Values present | Distinct values | Continuous | Decimal places |
|---|---|---|---|---|---|
| Depth | number | 4000 | 2550 | yes | 1 |
| Temperature | number | 4000 | 3073 | yes | 4 |
| Variable | Mean | Median | Mode |
|---|---|---|---|
| Depth | 943.7 | 862 | 1938.0 |
| Temperature | 8.282 | 5.2 | 3.897 |
| Variable | Minimum | Maximum | Standard deviation | Variance | Interquartile range | Sum |
|---|---|---|---|---|---|---|
| Depth | 0 | 5455.4 | 699.4 | 489,129 | 1080.5 | 3,774,752 |
| Temperature | 0.649 | 29.77 | 6.332 | 40.1 | 6.12 | 33128.5 |
| Variable | Skewness | Kurtosis | Total sum of squares |
|---|---|---|---|
| Depth | 1.116 | 2.876 | 1.956e+09 |
| Temperature | 1.793 | 2.473 | 160,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.
| Statistic | Explanation |
|---|---|
| Variable | Name of the column the statistics in the row describe |
| Type | Type assigned during data processing (bool, integer, number, decimal, text or date) |
| Values present | Number of rows in which the column holds a value |
| Distinct values | Number of different values the column holds |
| Continuous | Whether the column can take any value in a range, as opposed to a discrete column limited to a fixed set of values |
| Decimal places | Length of the fractional part of the values |
| Mean | Arithmetic average: the sum of all values divided by the number of values |
| Median | The middle value: half of the values lie at or below it and half at or above it. It is also the 50% percentile |
| Mode | The value that appears most often |
| Minimum | Smallest 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.
| Column | Values | Lower fence | Upper fence | Below | Above | Share |
|---|---|---|---|---|---|---|
| Depth | 4000 | none below | 3059 | 0 | 52 | 1.3% |
| Temperature | 4000 | none below | 19.498 | 0 | 341 | 8.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
| Association | 95% CI | Column | Kendall | Kind | N | Other column | Pearson | Q value | Spearman |
|---|---|---|---|---|---|---|---|---|---|
| 0.9602 | -0.7295, -0.6992 | Depth | -0.8436 | numeric | 4000 | Temperature | -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.
| Measure | Explanation |
|---|---|
| Kind | What the two columns hold: two numbers (numeric), a number and a category (numeric_categorical), or two categories (categorical) |
| Association | Strength 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 |
| Covariance | Two 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 Coefficient | Two 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 V | Two 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-value | How 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.