Notes on Heating Degree Day (HDD) Sensitivity to Base Temperature (V1)
=================================================================
DHD20170214
DOCUMENT HISTORY
CREATED: "DRAFT" Damon Hart-Davis 20170214
REVIEWED: Mark Hill 20170221
ISSUED "V1": update 20170221 after review MH20170221
Initial notes
-------------
1) Use of 'traditional' base temperature of 15.5C makes for easy
comparison across building fleet (eg trial set)
where there may not be a large enough set of data point per building
for more sophisticated per-building base choice.
2) With sufficient data points per building it becomes possible to
find an optimum base temperature by building,
eg searching for that which maximises R^2,
or the approaches in TM41 chapter 5 such as polynomial line fit
or searching for inflection point vs mean daily external temperature.
3) Although a 'wrong' base temperature does skew the slope important here,
empirically I have not found that base temperature adjustment,
for example searching for maximum R^2 as above,
has proven very helpful diagnostically.
4) Note that a negative intercept implies a negative non-heating baseload,
and is an indication of a non-ideal (too high) base temperature.
For the purposes of the efficacy calculation the base load
is not directly used and only the implied skew to the slope
is of potential concern.
Observing the effect of adjusted base temperature on initial test set
---------------------------------------------------------------------
Although internally the current computations assume that the HDD data
provided to it will match its explicitly declared 15.5C base temperature,
no special account is taken of its actual value,
and so it is possible to feed in HDD data with alternative base temperatures.
(Rather brutally to verify this assertion I simply *removed* most places
in the relevant code path that referred to base temperatures at all,
and no difference in output was seen.)
This was done for the original test data set in the first instance,
including the original 15.5C,
values adjusted +/-1C ie 14.5C and 16.5C to nominally see a per-C sensitivity,
and 12.0C which is a little more extreme and which I use for my own home
having some years ago manually sought minimum errors in fitting real data.
The original test data set is rather sparse and this is only illustrative.
The very final result at each base temperature is seen here:
==> .../ETV-prepared-data-out-12.0/90_multihouseholdSummaryStatsOut.csv <==
allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD
33,2,51,0.4034138,0.11666283,6.216803,0.7406106,0.44886547,0.21579552
==> .../ETV-prepared-data-out-14.5/90_multihouseholdSummaryStatsOut.csv <==
allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD
33,2,51,0.37880778,0.06771475,3.8832374,1.1428596,0.60108656,0.27845764
==> .../ETV-prepared-data-out-15.5/90_multihouseholdSummaryStatsOut.csv <==
allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD
33,2,51,0.36708134,0.044487998,3.4430323,1.1276339,0.63983274,0.2850564
==> .../ETV-prepared-data-out-16.5/90_multihouseholdSummaryStatsOut.csv <==
allHouseholdsCount,finalHouseholdsCount,normalDayCount,RsqMean,RsqSD,SlopeMean,SlopeSD,EfficacyMean,EfficacySD
33,3,67,0.29871324,0.100261234,2.0713735,1.7917422,0.44462293,0.39207715
This final result represents the best available data from that test set.
While the 'SlopeMean' value does indeed change significantly with
base temperature, from 6.216803 at 12C to 2.0713735 at 16.5C, (and does not
here seem to have anything like a simple linear relationship for small deltas),
the 'EfficacyMean' as the ratio of two slopes at the given base temperature
appears more robust as expected.
But this data set is fairly poor.
References:
[TM41] http://www.degreedaysforfree.co.uk/pdf/TM41.pdf
CIBSE "Degree-days: theory and application" (2006) esp Chapter 5