P3-6.6 Same Column Name, Different Feature¶
Section ID:
P3-6.6Version:v2026.07.23
Subtitle: Why can a column with the same name become a different feature when its measurement rule or unit changes?
There is one more trap that is easy to miss while designing features. It appears the moment we think if the column name is the same, it must be the same feature. But in real data, even under the same name flow_mean, the sensor version may have changed, the unit may have changed, or the calculation rule may have changed. Once such changes happen, the numbers may still exist, yet it becomes difficult to say that it is still the same feature.
A feature should be judged as the same feature not by column name alone, but by including what quantity was measured under what rule and in what unit.
Cases Where the Same Column Name Does Not Mean the Same Feature¶
If we look only at the same column name and move on as if it were the same feature, we can easily place rows on the same comparison table and the same baseline even when the meaning of the feature has already changed.
| What it looks like on the surface | The question Part 3 should ask first |
|---|---|
| The column name stayed the same | Did the calculation rule and unit also stay the same? |
| The value distribution suddenly changed | Is it a real change, or a change in measurement method? |
| Values changed after maintenance | Is it a process-state change, or a change in sensor definition? |
So the mere fact that the feature name stayed the same does not mean the same comparison structure is still in place.
What Has to Change Before It Stops Being the Same Feature¶
Even with the same column name, if one of the following changes, Part 3 should first ask again is this still the same feature?
| What changed | Why it matters |
|---|---|
| Measurement unit | Because the numerical comparison itself changes |
| Sensor location or sensor version | Because the same name can become closer to a different physical quantity |
| Segment calculation rule | Because even the same average may now be an average over a different range |
| Operational definition | Because even the same normal range may now follow a different criterion |
All four of these are not primarily model-technique issues. They are issues of what the feature we kept actually means.
Looking Through a Small Diagram¶
| event_id | flow_mean | flow_unit | sensor_version | segment_rule | ops_definition |
|---|---|---|---|---|---|
| A | 2.4 | L/min | v1 | early-mid-late | normal-band-v1 |
| B | 2.5 | L/min | v1 | early-mid-late | normal-band-v1 |
| C | 41.0 | mL/s | v2 | early-mid-late | normal-band-v1 |
| D | 39.5 | mL/s | v2 | quartile-4bin | normal-band-v2 |
If we look at this table, every row uses the same name flow_mean, but more than one thing changed at the same time.
A,BandC,Ddiffer in unit.C,Dalso differ in sensor version.Dalso differs in segment calculation rule.Dalso differs in operational definition, so it is hard to tie it immediately to the same baseline note.
So if we read these four rows as one unchanged feature column, the meaning of the feature itself becomes unstable even before we talk about whether the numbers are similar. That is why the conclusion we should hold first here is simple. The same column name does not guarantee the same feature definition.
flowchart TD
A[Same column name: flow_mean] --> B{Same unit?}
B -- No --> X[Separate definition group]
B -- Yes --> C{Same sensor version?}
C -- No --> X
C -- Yes --> D{Same segment rule?}
D -- No --> X
D -- Yes --> E{Same ops definition?}
E -- No --> X
E -- Yes --> Y[Same feature definition]
So What Should Be Written Down First at This Stage¶
In Part 3, it matters more to leave feature-definition notes first than to move immediately into complicated correction techniques.
| Note to write down first | Why it is needed |
|---|---|
| Unit | Because we need it to judge whether absolute-magnitude comparison is even possible |
| Generation rule | Because we have to check whether it was built from the same range and the same calculation method |
| Collection version | Because we have to distinguish sensor or pipeline changes |
| Whether direct comparison is allowed | Because we have to decide whether it can be placed on the same baseline right away |
These notes are not here to make the explanation longer. They are the minimum structural information needed to block the illusion of the same column name.
Why Baseline Comparison Also Becomes Unstable¶
Once it is no longer the same feature, the baseline comparison in Chapter 7 also becomes unstable immediately.
| What we currently see | What may actually be unstable |
|---|---|
| A recent value became higher than usual | It may be a unit or sensor change rather than a process change |
| The difference stayed large after maintenance | The baseline group and the measurement definition may have changed |
| Variability grew from a certain point onward | The segment-calculation rule may have changed |
So a baseline is not only a same-group comparison. It should also be a same feature-definition comparison. Leaving this note behind lets us check first did different feature definitions get mixed together? before jumping to the conclusion that the model is strange.
Small Code Example¶
Problem situation: check that even when the same column name flow_mean is used, it may not be the same feature if unit, sensor version, segment rule, and operational definition differ.
Input: a feature-catalog table where feature_name, unit, sensor_version, segment_rule, and ops_definition are written together, plus the field bundle definition_fields_to_check to use when deciding whether rows share the same definition
Expected output: output where the rows look like one group if we look only at the column name, but split into several same_definition_group values when definition_fields_to_check includes unit, sensor version, segment rule, and operational definition
Concept to check: feature identity should be judged not at the column-name level alone, but at the definition level that includes measurement unit and generation rule. Which rows can be placed on the same baseline also changes depending on which fields are included in the definition.
Expected output:
The purpose of this example is not to calculate a new feature. It is to check first up to what point can rows really be grouped under the same definition even when the column name is the same? The value to manipulate here is definition_fields_to_check. In stage 1, we see that all four rows use flow_mean but that the definition notes differ. In stage 2, we see that if we look only at feature_name, A,B,C,D all look like one group, but if we include unit, sensor version, segment rule, and operational definition, they split into three groups: A,B, C, and D. Stage 3 shows that only A,B actually remain in the same definition group, while C and D each stay separate. So what matters in this section is not the internal key string itself, but first separating which rows are allowed onto the same baseline and into the same comparison table.
The last three things to check here are the following. Are the unit and calculation rule written down? Did we distinguish version changes or sensor changes? Did we mark definition differences that must not be mixed into the same baseline and partition? Only when these three conditions stand together does a feature table remain not as a simple bundle of numbers, but as a structure with comparable definitions attached. Checking whether the current feature table compares only columns that still mean the same thing is exactly the center of this section.
If the measurement unit, sensor version, or calculation rule changes, then the same column name may no longer mean the same feature, so Part 3 should check feature-definition sameness before looking at the numbers. This section can be read not as a trick for managing column names, but as the problem of feature-definition identity.
So feature identity should be read not as one line of column name, but as a definition bundle that includes what was built under what rule and version.
Sources and Further Reading¶
- W3C,
PROV-Overview. Because it provides a general framework for tracing through provenance information what process and version generated the data, it reinforces the explanation that to preserve comparability, a feature should keep not only its name but also its generation rule and version. https://www.w3.org/TR/prov-overview/ / Accessed: 2026-07-20 - Google for Developers,
Machine Learning Glossary:feature engineering. Because it explains that a feature is not a raw value left untouched but the result of a chosen transformation, it supports the core point of this section that once the unit or calculation rule changes, the same column name is no longer easily the same feature definition. https://developers.google.com/machine-learning/glossary / Accessed: 2026-07-20