Как представить потребление кВтч по годам по отношению к средней температуре?


9

Просто для удовольствия я хочу составить график моего ежемесячного потребления электроэнергии домохозяйствами по сравнению с прошлым годом. Тем не менее, я хотел бы включить некоторую ссылку на месячную температуру, чтобы я мог определить, улучшается ли мой дом или поведение, ухудшается или остается стабильным в отношении использования кВтч.

Данные, с которыми я работаю:

+----------+--------+-----------+----------------+----------+-----------+------------+
|  Month   | # Days | kWh Usage | Daily kWh Avg. | Avg. Low | Avg. High | Avg. Temp. |
+----------+--------+-----------+----------------+----------+-----------+------------+
| Mar 2015 |     32 |      1048 |             33 |       40 |        60 |         50 |
| Feb 2015 |     29 |      1156 |             40 |       32 |        54 |         43 |
| Jan 2015 |     33 |      1143 |             35 |       38 |        57 |         47 |
| Dec 2014 |     30 |       887 |             30 |       39 |        61 |         50 |
| Nov 2014 |     29 |       645 |             22 |       45 |        67 |         56 |
| Oct 2014 |     29 |       598 |             21 |       60 |        78 |         69 |
| Sep 2014 |     32 |       893 |             28 |       70 |        85 |         77 |
| Aug 2014 |     30 |       965 |             32 |       72 |        87 |         79 |
| Jul 2014 |     29 |       784 |             27 |       72 |        87 |         79 |
| Jun 2014 |     32 |      1018 |             32 |       69 |        87 |         78 |
| May 2014 |     30 |       702 |             23 |       63 |        82 |         72 |
| Apr 2014 |     33 |       722 |             22 |       50 |        71 |         60 |
| Mar 2014 |     29 |       830 |             29 |       41 |        62 |         52 |
| Feb 2014 |     28 |      1197 |             43 |       32 |        52 |         42 |
| Jan 2014 |     33 |      1100 |             33 |       38 |        59 |         49 |
| Dec 2013 |     30 |       856 |             29 |       40 |        63 |         51 |
| Nov 2013 |     33 |       686 |             21 |       48 |        70 |         59 |
| Oct 2013 |     30 |       527 |             18 |       61 |        77 |         69 |
| Sep 2013 |     30 |       817 |             27 |       69 |        86 |         77 |
| Aug 2013 |     28 |       991 |             35 |       72 |        86 |         79 |
| Jul 2013 |     31 |       993 |             32 |       73 |        86 |         79 |
| Jun 2013 |     30 |       847 |             28 |       66 |        83 |         74 |
| May 2013 |     29 |       605 |             21 |       59 |        76 |         67 |
| Apr 2013 |     34 |       791 |             23 |       47 |        66 |         57 |
+----------+--------+-----------+----------------+----------+-----------+------------+

Я начал с столбчатой ​​диаграммы, легко сравнивающей месячные значения:

График колонок использования от месяца к месяцу

Я представлял себе красивую фоновую область или линейный график, отображаемый на вторичную (правую) вертикальную ось, показывающую верхние / нижние диапазоны, но понял, что это будет проблематично для многолетних группировок.

Это было бы легко с одним годом:

2014 кВтч с использованием температур

Мне любопытно узнать, может ли кто-нибудь порекомендовать способ объединения всех годовых данных в единый график со сравнениями температуры?

Есть ли какое-то соотношение, которое я мог бы использовать, которое могло бы эффективно связать использование кВтч со средней температурой ... или какой-то другой метод отображения, который я пропускаю ... или я застрял с одним графиком в год?

Ответы:


18

Я хотел бы предположить, что важно разработать физически реалистичную, практически полезную модель затрат на энергию. Это поможет лучше определить изменения в затратах, чем любая визуализация необработанных данных. Сравнивая это с решением, предлагаемым для SO , мы получили очень хороший пример разницы между подгонкой кривой к данным и проведением содержательного статистического анализа.

(Это предложение основано на том, что десять лет назад я приспособил такую ​​модель для использования в моем домашнем хозяйстве и применил ее для отслеживания изменений в течение этого периода. Обратите внимание, что после подбора модели ее можно легко рассчитать в электронной таблице для целей отслеживания. изменения, поэтому мы не должны чувствовать себя ограниченными (в) возможностями программного обеспечения для работы с электронными таблицами.)

Для этих данных такая физически правдоподобная модель дает существенно отличную картину затрат на энергию и моделей использования, чем простая альтернативная модель (квадратичное наименьших квадратов, подходящих для ежедневного использования по отношению к среднемесячной температуре). Следовательно, более простую модель нельзя считать надежным инструментом для понимания, прогнозирования или сравнения моделей использования энергии.


Анализ

tt0αβ

αβ

γ

t0t0t1

γt0

Ls=L/6Avg. LowAvg. HighAvg. Temp

Наконец, мы должны стандартизировать данные в единую единицу времени. Хотя это уже присутствует в Daily kWh Avg.переменной, ему не хватает точности, поэтому давайте вместо этого разделим общее количество на количество дней, чтобы вернуть потерянную точность.

Yt

y(t)=γ+α(tt0)I(t<t0)+β(tt0)I(t>t0)+ε(t)

Iεα,β,γt0t0

x0x1t(x)x

Cost(x0,x1)=x0x1y(t)dt=x0x1(γ+α(t(x)t0)I(t(x)<t0)+β(t(x)t0)I(t(x)>t0)+ε(t(x)))t(x)dx.

ε(t)ε¯t(x)t¯s(t¯)

y¯(t¯)=γ+(βα)s(t¯)2ϕs(t¯t0)+(t¯t0)(β+(αβ)Φs(t0t¯))+ε¯(t¯).

Φss(t¯)ϕ


Примерка модели

α,β,γt0t0Rε¯σ

Для этих данных оценки

(α^,β^,γ^,t0^,σ^)=(1.489,1.371,10.2,63.4,1.80).

Это означает:

  • 1.49

  • 1.37

  • 10.2

  • 63.4

  • 1.80

Доверительные интервалы и другие количественные выражения неопределенности в этих оценках могут быть получены стандартными способами с использованием механизма максимального правдоподобия.


Визуализация

Чтобы проиллюстрировать эту модель, на следующем рисунке показаны данные, базовая модель, соответствие среднемесячным значениям и простое квадратичное соответствие наименьших квадратов.

фигура

t0

Обратите внимание на то, насколько припадки отходят от базовой (мгновенной) модели, особенно при средних температурах! Это эффект ежемесячного усреднения. (Подумайте о высотах красной и синей линий, «размазанных» по каждому горизонтальному серому сегменту. При экстремальных температурах все центрируется по линиям, но при средних температурах две стороны буквы «V» усредняются вместе, отражая необходимость для отопления в некоторые периоды и охлаждения в другое время в течение месяца.)


Сравнение моделей

2.071.97

Тем не менее, квадратичная посадка совершенно бесполезна для изучения происходящего! Его формула,

y¯(t¯)=219.956.241t¯+0.04879(t¯)2,

не раскрывает ничего полезного напрямую. Справедливости ради, мы могли бы немного проанализировать это:

  1. t^0=6.241/(2×0.04879)=64.063.4219.956.241(63.4)+0.04879(63.4)2=20.4

  2. y¯(t¯)=6.241+2(0.04879)t¯906.241+2(0.04879)(90)=2.54

    32|6.241+2(0.04879)(32)|=3.12

    606850785010

Короче говоря, хотя в визуализации это выглядит почти так же хорошо, квадратичное приближение сильно ошибается в оценке фундаментальных величин, представляющих интерес, связанных с использованием энергии. Поэтому его использование для оценки изменений в использовании проблематично и не должно поощряться.


вычисление

Этот Rкод выполнял все вычисления и черчение. Его можно легко адаптировать к аналогичным наборам данных.

#
# Read and process the raw data.
#
x <- read.csv("F:/temp/energy.csv")
x$Daily <- x$Usage / x$Length
x <- x[order(x$Temp), ]
#pairs(x)
#
# Fit a quadratic curve.
#
fit.quadratic <- lm(Daily ~ Temp+I(Temp^2), data=x)
# par(mfrow=c(2,2))
# plot(fit.quadratic)
# par(mfrow=c(1,1))
#
# Fit a simple but realistic heating-cooling model with maximum likelihood.
#
response <- function(theta, x, s) {
  alpha <- theta[1]; beta <- theta[2]; gamma <- theta[3]; t.0 <- theta[4]
  x <- x - t.0
  gamma + (beta-alpha)*s^2*dnorm(x, 0, s) +  x*(beta + (alpha-beta)*pnorm(-x, 0, s))
}
log.L <- function(theta, y, x, s) {
  #   theta = (alpha, beta, gamma, t.0, sigma)
  #   x = time
  #   s = estimated SD
  #   y = response
  y.hat <- response(theta, x, s)
  sigma <- theta[5]
  sum((((y - y.hat) / sigma) ^2 + log(2 * pi * sigma^2))/2)
}
theta <- c(alpha=-1, beta=5/4, gamma=20, t.0=65, sigma=2) # Initial guess
x$Spread <- (x$Temp.high - x$Temp.low)/sqrt(6)            # Uniform estimate
fit <- nlm(log.L, theta, y=x$Daily, x=x$Temp, x$Spread)
names(fit$estimate) <- names(theta)
#$
# Set up for plotting.
#
i.pad <- 10
plot(range(x$Temp)+c(-i.pad,i.pad), c(0, max(x$Daily)+20), type="n", 
     xlab="Temp", ylab="Cost, kWh/day",
     main="Data, Model, and Fits")
#
# Plot the data.
#
l <- matrix(mapply(function(l,r,h) {c(l,h,r,h,NA,NA)}, 
                   x$Temp.low, x$Temp.high, x$Daily), 2)
lines(l[1,], l[2,], col="Gray")
points(x$Temp, x$Daily, type="p", pch=3)
#
# Draw the models.
#
x0 <- seq(min(x$Temp)-i.pad, max(x$Temp)+i.pad, length.out=401)
lines(x0, cbind(1, x0, x0^2) %*% coef(fit.quadratic), lwd=3, lty=3)
#curve(response(fit$estimate, x, 0), add=TRUE, lwd=2, lty=1)
t.0 <- fit$estimate["t.0"]
alpha <- fit$estimate["alpha"]
beta <- fit$estimate["beta"]
gamma <- fit$estimate["gamma"]
cool <- "#1020c0"; heat <- "#c02010"
lines(c(t.0, 0), gamma + c(0, -alpha*t.0), lwd=2, lty=1, col=cool)
lines(c(t.0, 100), gamma + c(0, beta*(100-t.0)), lwd=2, lty=1, col=heat)
#
# Display the fit.
#
pred <- response(fit$estimate, x$Temp, x$Spread)
points(x$Temp, pred, pch=16, cex=1, col=ifelse(x$Temp < t.0, cool, heat))
#lines(lowess(x$Temp, pred, f=1/4))
#
# Estimate the residual standard deviations.
#
residuals <- x$Daily - pred
sqrt(sum(residuals^2) / (length(residuals) - 4))
sqrt(sum(resid(fit.quadratic)^2) / (length(residuals) - 3))

4
Это может быть единственным лучшим ответом на любой вопрос переполнения стека, который я прочитал. Я высоко ценю время, затрачиваемое на объяснение логики и обоснования решения.
Шон,

1
Физика более волосатая, чем эта. Конденсатор и испаритель переключаются между отоплением и охлаждением. Это означает, что они действуют как две разные системы, а не как одна непрерывная. Дни степени нагрева, дни степени охлаждения и дни степени осушения являются тремя отдельными факторами, влияющими на стоимость, и в зависимости от географического местоположения (например, ak, wi, ca, az, mo и fl) и года могут действовать прерывисто (конец отопительного сезона не это не то же самое, что начало охлаждения). Достойная статистика в данных говорит о том, что существует 5 сезонов, а не 4. Май - это собственный сезон, по крайней мере, в течение последних 5 лет.
EngrStudent

@EngrStudent Все хорошие моменты и высоко ценится. Я бы сказал, что представленный здесь подход, хотя и упрощенный, показывает, что необходимо заложить основу для выявления этих более тонких эффектов. Как только вы справитесь с большими терминами в модели - и я думаю, что никто не станет отрицать, что температура должна быть основным фактором, влияющим на затраты, - тогда, если вы сделали это физически значимым образом, вы сможете определить другие термины. и, возможно, даже оценить их эффекты точно. Если вы не справляетесь с большими терминами правильно, то у вас нет никакой надежды охарактеризовать другие.
whuber

Я люблю это хорошее основание / анализ, пожалуйста, услышите это как аплодисменты, а не критику. Процесс нагрева отличается от охлаждения, поэтому непоследовательный квадратик с обеих сторон может противоречить этому. Катушка испарителя находится в помещении во время охлаждения и на улице во время нагрева. В тепловом насосе также есть циклы размораживания и «резервное тепло». Кроме того, компрессор должен работать усерднее, чтобы бороться с более экстремальной температурой наружного воздуха, поэтому вы не только переносите больше тепла, но и поднимаете его на более высокий холм. Это не линейно. Влажность велика и может составлять 2/3 энергетического бюджета. Воздушная инфильтрация.
EngrStudent

@EngrStudent Еще раз спасибо - это все интересные моменты. Я понятия не имел, что влажность может составлять такую ​​большую часть бюджета. Это вид наблюдения, который иллюстрирует потенциальную ценность объединения хорошей теории (или «концептуальной модели» в некоторых кругах) со статистическим анализом.
whuber

0

Я получил ответ в StackOverflow . Если у кого-то есть дополнительные мысли, я все еще очень заинтересован в альтернативных решениях.

/programming/29777890/data-visualization-how-to-represent-kwh-usage-by-year-against-average-temperatu


1
Решение на SO неправдоподобно. Закон охлаждения Ньютона , который является разумным приближением первого порядка, полезным в качестве отправной точки, предполагает, что график зависимости использования энергии от температуры должен представлять собой объединение двух линий (возможно, с разными наклонами). Среднее значение скрывает суточные (и даже ежечасные) перепады температуры, которые размывают область на пересечении этих линий (где не требуются ни нагрев, ни охлаждение). Квадратичное соответствие может быть разумным, но асимптотически оно должно быть линейным .
whuber

Я знаю среднюю точность размытия, но у меня есть данные. Из-за плохого понимания статистики я не могу понять фразы «должно быть объединение двух линий ...» и «асимптотически, чтобы подбор соответствовал линейному значению» . С точки зрения начинающего POV сообщение SO кажется интуитивно понятным, поскольку оно соответствует моим ожиданиям, что потребление энергии возрастает на противоположных концах температурной шкалы, при этом оно является самым низким в среднем диапазоне, где не требовались ни нагрев, ни охлаждение. Разве квадратичная посадка не будет симметричной? Я не верю, что потребление энергии симметрично, так как мы используем больше энергии для обогрева, чем для охлаждения. Я ценю любые исправления или советы.
Шон

Квадратичное соответствие, хотя и симметричное, в крайних случаях является нефизическим, поскольку в нем говорится, что вы заплатите гораздо больше за нагрев при самых низких температурах и гораздо больше за охлаждение при самых высоких температурах, чем физически правдоподобно. Более того, симметрия на участке может быть ожидаемой только в том случае, если стоимость охлаждения дома на градус равна стоимости ее обогрева на градус, что предполагает одинаковую эффективность систем отопления и охлаждения. Это может или не может иметь место - но вы не должны навязывать эту симметрию вашей модели.
whuber

Я согласен, что это отличается, поскольку стоит больше, чем охлаждение, чем тепло на градус. Тем не менее, насколько я понимаю первый комментарий, вы предлагаете квадратичное соответствие из сообщения SO - хотя и разумное - не является действительно точным, и что линейное соответствие является технически правильным ответом из-за закона охлаждения Ньютона? Это неправдоподобное решение SO, которое я не понимаю.
Шон

1
Я не смог уместить свой ответ на этот последний вопрос в поле для комментариев, поэтому я разместил его как ответ. Я не понимаю, как вы можете сделать вывод, что затраты на охлаждение на градус больше, чем затраты на нагрев на градус. Похоже, ваши данные указывают на обратное (хотя затраты довольно близки, как и следовало ожидать). И обратите внимание, что линейная модель не подразумевает линейное соответствие ! Здесь много чего происходит, чтобы заставить данные систематически отклоняться от этой базовой модели.
whuber
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.