Saya ingin menyarankan bahwa yang penting adalah mengembangkan model biaya energi yang realistis secara fisik dan praktis . Itu akan bekerja lebih baik untuk mendeteksi perubahan dalam biaya daripada visualisasi dari data mentah dapat dicapai. Dengan membandingkan ini dengan solusi yang ditawarkan pada SO , kami memiliki studi kasus yang sangat bagus dalam perbedaan antara menyesuaikan kurva dengan data dan melakukan analisis statistik yang bermakna.
(Saran ini didasarkan pada kesesuaian model seperti itu dengan penggunaan rumah tangga saya sendiri satu dekade lalu dan menerapkannya untuk melacak perubahan selama periode itu. Perhatikan bahwa setelah model tersebut cocok, dapat dengan mudah dihitung dalam spreadsheet untuk tujuan pelacakan perubahan, jadi kita seharusnya tidak merasa dibatasi oleh kemampuan perangkat lunak spreadsheet
Untuk data ini, model yang masuk akal secara fisik menghasilkan gambaran yang sangat berbeda dari biaya energi dan pola penggunaan daripada model alternatif sederhana (kuadrat-kuadrat cocok penggunaan sehari-hari terhadap suhu rata-rata bulanan). Akibatnya, model yang lebih sederhana tidak dapat dianggap sebagai alat yang dapat diandalkan untuk memahami, memprediksi, atau membandingkan pola penggunaan energi.
Analisis
Hukum Pendinginan Newton mengatakan bahwa, untuk perkiraan yang baik, biaya pemanasan (selama satuan waktu) harus berbanding lurus dengan perbedaan antara suhu luar dan suhu dalam . Biarkan konstanta proporsionalitas menjadi . Biaya pendinginan juga harus sebanding dengan perbedaan suhu itu, dengan konstanta proporsionalitas serupa - tetapi tidak selalu sama . (Masing-masing ditentukan oleh kemampuan isolasi rumah serta efisiensi sistem pemanas dan pendingin.)tt0- αβ
Memperkirakan dan (yang dinyatakan sebagai kilowatt (atau dolar) per derajat per satuan waktu) adalah beberapa hal paling penting yang dapat dicapai,αβ karena hal itu memungkinkan kami untuk memprediksi biaya di masa depan, serta mengukur efisiensi dari rumah dan sistem energinya.
Karena data ini adalah total penggunaan listrik, mereka termasuk biaya non-panas seperti penerangan, memasak, komputasi, dan hiburan. Yang juga menarik adalah perkiraan penggunaan energi dasar rata-rata ini (per unit waktu), yang akan saya sebut : ini memberikan dasar pada seberapa banyak energi dapat dihemat dan memungkinkan prediksi biaya di masa mendatang ketika peningkatan efisiensi dari besaran yang diketahui dibuat . (Misalnya, setelah empat tahun saya mengganti tungku dengan tungku yang diklaim 30% lebih efisien - dan memang memang begitu.)γ
Akhirnya, sebagai (gross) pendekatan saya akan menganggap rumah dipertahankan pada suhu hampir konstan sepanjang tahun. (Dalam model pribadi saya, saya mengasumsikan dua suhu, , masing-masing untuk musim dingin dan musim panas - tetapi belum ada cukup data dalam contoh ini untuk memperkirakan keduanya dengan andal dan keduanya akan cukup dekat.) Mengetahui hal ini Nilai membantu seseorang mengevaluasi konsekuensi pemeliharaan rumah pada suhu yang sedikit berbeda, yang merupakan salah satu opsi hemat energi yang penting.t0t0≤t1
Data menyajikan komplikasi yang sangat penting dan menarik : mereka mencerminkan total biaya selama periode ketika suhu luar berfluktuasi - dan mereka sangat berfluktuasi, biasanya sekitar seperempat dari rentang tahunan mereka setiap bulan. Seperti yang akan kita lihat, ini menciptakan perbedaan substansial antara model sesaat mendasar yang benar yang baru saja dijelaskan dan nilai-nilai total bulanan. Efeknya terutama diucapkan di antara bulan antara, di mana keduanya (atau tidak) pemanasan dan pendinginan terjadi. Model apa pun yang tidak memperhitungkan variasi ini akan keliru "berpikir" biaya energi harus pada tingkat dasar selama bulan apa pun dengan suhu rata-rata , tetapi kenyataannya jauh berbeda.γt0
Kami tidak (siap) memiliki informasi terperinci tentang fluktuasi suhu bulanan selain dari kisaran mereka. Saya mengusulkan penanganan itu dengan pendekatan yang praktis, tetapi sedikit tidak konsisten. Kecuali pada suhu ekstrem, setiap bulan biasanya akan mengalami kenaikan atau penurunan suhu secara bertahap. Ini berarti kita dapat mengambil distribusi menjadi kurang lebih seragam. Ketika rentang variabel seragam memiliki panjang , variabel itu memiliki standar deviasi . Saya menggunakan hubungan ini untuk mengonversi rentang (dari ke ) ke standar deviasi. Tapi kemudian, pada dasarnya untuk mendapatkan model yang berperilaku baik, saya akan menurunkan variasi di ujung rentang ini dengan menggunakan NormalLs=L/6–√Avg. Low
Avg. High
distribusi (dengan perkiraan SD dan sarana yang diberikan oleh Avg. Temp
).
Akhirnya, kita harus menstandarkan data ke satuan waktu bersama. Meskipun itu sudah ada dalam Daily kWh Avg.
variabel, itu tidak memiliki presisi, jadi mari kita membagi total dengan jumlah hari untuk mendapatkan kembali presisi yang hilang.
Dengan demikian, model biaya pendinginan unit-waktu pada suhu luar adalahYt
y(t)=γ+α(t−t0)I(t<t0)+β(t−t0)I(t>t0)+ε(t)
di mana adalah fungsi indikator dan mewakili segala sesuatu yang tidak secara eksplisit ditangkap dalam model ini. Ini memiliki empat parameter untuk diperkirakan: , dan . (Jika Anda benar-benar yakin dengan Anda dapat memperbaiki nilainya daripada memperkirakannya.)Iεα,β,γt0t0
The dilaporkan biaya total selama periode waktu untuk ketika suhu bervariasi dengan waktu oleh karena itu akanx0x1t(x)x
Cost(x0,x1)=∫x1x0y(t)dt=∫x1x0(γ+α(t(x)−t0)I(t(x)<t0)+β(t(x)−t0)I(t(x)>t0)+ε(t(x)))t′(x)dx.
Jika model sama sekali bagus, fluktuasi harus rata-rata ke nilai mendekati nol dan akan tampak secara acak berubah dari bulan ke bulan. Perkiraan fluktuasi dalam dengan distribusi rata-rata (rata-rata bulanan) dan standar deviasi (seperti yang sebelumnya diberikan dari rentang bulanan) dan melakukan integral menghasilkanε(t)ε¯t(x)t¯s(t¯)
y¯(t¯)=γ+(β−α)s(t¯)2ϕs(t¯−t0)+(t¯−t0)(β+(α−β)Φs(t0−t¯))+ε¯(t¯).
Dalam rumus ini, adalah distribusi kumulatif dari Normal dari mean nol dan standar deviasi ; adalah kepadatannya.Φss(t¯)ϕ
Model pas
Model ini, meskipun menyatakan hubungan nonlinear antara biaya dan suhu, tetap linier dalam variabel dan . Namun, karena tidak linear dalam , dan tidak diketahui, kita memerlukan prosedur pemasangan nonlinier. Sebagai ilustrasi, saya hanya membuangnya ke dalam pemaksimal kemungkinan (menggunakan untuk perhitungan), dengan asumsi terdistribusi secara independen dan identik, dengan distribusi normal rata-rata nol dan standar deviasi standar .α,β,γt0t0R
ε¯σ
Untuk data ini, perkiraannya adalah
(α^,β^,γ^,t0^,σ^)=(−1.489,1.371,10.2,63.4,1.80).
Ini berarti:
Biaya untuk memanaskan sekitar kWh / hari / derajat F.1.49
Biaya pendinginan sekitar kWh / hari / derajat F. Pendinginan sedikit lebih efisien.1.37
Penggunaan energi dasar (non-pemanasan / pendinginan) adalah kWh / hari. (Angka ini cukup tidak pasti; data tambahan akan membantu menjabarkannya dengan lebih baik.)10.2
Rumah itu dipertahankan pada suhu dekat derajat F.63.4
Variasi lain yang tidak secara eksplisit diperhitungkan dalam model memiliki standar deviasi kWh / hari.1.80
Interval kepercayaan dan ekspresi kuantitatif ketidakpastian lainnya dalam estimasi ini dapat diperoleh dengan cara standar dengan mesin kemungkinan maksimum.
Visualisasi
Untuk menggambarkan model ini, gambar berikut memplot data, model yang mendasarinya, kesesuaian dengan rata-rata bulanan, dan kesesuaian kuadrat kuadrat-terkecil sederhana.
Data bulanan ditampilkan sebagai persilangan gelap. Garis abu-abu horizontal yang menunjukkan garis suhu bulanan. Model dasar kami, yang mencerminkan hukum Newton, ditunjukkan oleh segmen garis merah dan biru yang bertemu pada suhu . Kecocokan kami dengan data bukan kurva , karena itu tergantung pada kisaran suhu. Karena itu ditampilkan sebagai titik biru dan merah solid individu. (Namun demikian, karena rentang bulanan tidak banyak bervariasi, titik-titik ini tampaknya menelusuri kurva - hampir sama dengan kurva kuadratik putus-putus). ).t0
Perhatikan berapa banyak cocok berangkat dari model yang mendasarinya (seketika), terutama di suhu tengah! Ini adalah efek rata-rata bulanan. (Pikirkan ketinggian garis-garis merah dan biru yang "dioleskan" di setiap segmen abu-abu horizontal. Pada suhu ekstrem, semuanya terpusat pada garis, tetapi pada suhu menengah kedua sisi "V" dirata-ratakan bersama-sama, mencerminkan kebutuhan untuk pemanasan di beberapa waktu dan pendinginan di waktu lain selama sebulan.)
Perbandingan model
Keduanya cocok - yang dikembangkan dengan susah payah di sini dan yang sederhana, mudah, cocok untuk kuadratik - sangat cocok satu sama lain dan dengan poin data. Fit kuadrat tidak cukup baik, tetapi masih layak: residu rata-rata yang disesuaikan (untuk tiga parameter) adalah kWh / hari, sedangkan residu rata-rata yang disesuaikan dari model hukum Newton (untuk empat parameter) adalah kWh / hari, sekitar 5% lebih rendah. Jika semua yang Anda ingin lakukan adalah memplot kurva melalui titik data, maka kesederhanaan dan kesetiaan relatif dari kuadratik akan merekomendasikannya.2.071.97
Namun, kecocokan kuadrat sama sekali tidak berguna untuk mempelajari apa yang terjadi! Formulanya,
y¯(t¯)=219.95−6.241t¯+0.04879(t¯)2,
tidak mengungkapkan apa-apa tentang penggunaan secara langsung. Dalam semua keadilan, kita bisa menganalisisnya sedikit:
Ini adalah parabola dengan simpul pada derajat F. Kita bisa menganggap ini sebagai perkiraan suhu rumah yang konstan. Itu tidak berbeda secara signifikan dari perkiraan pertama kami di derajat. Namun, biaya yang diperkirakan pada suhu ini adalah kWh / hari. Ini adalah dua kali penggunaan energi dasar yang sesuai dengan Hukum Newton.t^0=6.241/(2×0.04879)=64.063.4219.95−6.241(63.4)+0.04879(63.4)2=20.4
Biaya marginal dari pemanasan atau pendinginan diperoleh dari nilai absolut dari derivatif, . Misalnya, menggunakan rumus ini kita akan memperkirakan biaya pemanasan rumah ketika suhu luar adalah derajat sebagai kWh / hari / derajat F. Ini adalah dua kali nilai yang diperkirakan dengan Newton hukum . 90-6.241+2(0.04879)(90)=2.54y¯′(t¯)=−6.241+2(0.04879)t¯90−6.241+2(0.04879)(90)=2.54
Demikian pula, biaya untuk memanaskan rumah pada suhu luar ruangan derajat akan diperkirakan sebagai kWh / hari / derajat F. Ini lebih dari dua kali nilai yang diperkirakan dengan Hukum Newton.| - 6.241 + 2 ( 0,04879 ) ( 32 ) | = 3.1232|−6.241+2(0.04879)(32)|=3.12
Pada suhu menengah, kecocokan kuadrat salah arah. Memang, pada titik puncaknya pada kisaran hingga derajat, ia memperkirakan biaya pemanasan atau pendinginan marginal hampir nol, meskipun suhu rata-rata ini terdiri dari hari-hari sedingin derajat dan sehangat derajat. (Beberapa orang yang membaca pos ini masih akan mengalami panas pada derajat (= derajat C)!)68 50 78 50 10606850785010
Singkatnya, meskipun terlihat hampir sama baiknya dalam visualisasi, kecocokan kuadrat sangat keliru dalam memperkirakan jumlah fundamental yang menarik terkait dengan penggunaan energi. Penggunaannya untuk mengevaluasi perubahan dalam penggunaan karena itu bermasalah dan harus dicegah.
Komputasi
R
Kode ini melakukan semua komputasi dan perencanaan. Ini dapat dengan mudah diadaptasi ke dataset serupa.
#
# 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))
Saya menerima jawaban di StackOverflow . Jika ada yang punya pemikiran tambahan, saya masih sangat tertarik dengan solusi alternatif.
/programming/29777890/data-visualization-how-to-represent-kwh-usage-by-year-against-average-temperatu
sumber