交大用電分析

 

黃岳涵 a.k.a.Bojne

2015 ~ 2017 高中自學生

2017 ~ NOW 交大應數系

www.sli.do/SITCON18-T22

第一次資料分析

學測成績會上哪一間大學啊

還沒開始就離題:自學

給問嗎?

  • 不會寫程式的有多少?預期1/10

  • 知道Pandas的有多少?預期 1/3

  • 嘗試過校園用電分析的有多少?預期 1/3

  • 對這個主題有興趣的?預期 1/4

我們提出這些問題:

「學校的用電有多少?」

「用電量隨時間的變化」

「用電量隨空間的變化」
「哪些電可能是可以被節省的?」

 

這場 Talk 的設定

程度|新手(因為我也是新手)
重點|專案經驗 + 資料分析
工具|Pandas(分析), PlotDB(視覺化)

一句話解釋這場Talk

「透過資料分析了解交大用電行為,並試圖找出節電方案。」

其實還離得遠🙃

一開始不會,現在有進步 🙂

從活動

強大的作品

       得到啟發

選擇開始資料分析的題目

 

有興趣的

有資料的

節電

用更容易理解的方式傳達

校園用電分析

 Step 1 了解狀況

Fig.1 Baby step

Fig.2 Baby step

A/ 訪問

請教學校最了解用電的人:

  • 有資料嗎?資料是如何被收集的?
  • 學校如何了解用電狀況?
  • 學校的節電難題與政策?

B/ 了解議題

  • 讀文件,例如:105年交大能源會議
  • 了解用電基本知識:電費多少?
  • 參考別人的專案:有沒有人做過類似的主題?

訪問的結果

  • 學校的用電架構++

  • 設備節電|管理節電++

  • 校園節電,學生的施力點++

 

學校營繕組

大樓管理人

資料分析

視覺化

電費小教室

  • 台電怎麼收費?

 

時段

季節

讀資料的收穫

  • 能源黑客松、台大校園節電

  • 資料分析與視覺化

  • 學校的會議規則

Understand the big picture

資料處理

Step Two: The Data

資料說明

  • 時間
  • 館舍
  • 迴路
  • 區域
  • 種類
  • 用量

2018/03/10 13:00

科學一館

主迴路

北區

教學

54.87 度/Hr 

我們可以分析什麼問題?

工具說明: Pandas & PlotDB

分析、處理、編輯

欄位式資料

Pandas 資料型態

Series (壽司)

Value 海苔:True

DataFrame (一盤壽司)

DF[魚 = ‘紅色’] 就會有 [鮪魚壽司, 鮭魚壽司, etc]

 

前置準備

  • 下載

  • 讀資料

  • 了解資料

三個向度:

1/ 資料時間

2/ 紀錄間隔

3/ 館舍位置

 

讀進來

了解資料

import pandas as pd
df = pd.read_csv([PATH])
df.head() #頭長怎樣
df.describe() #數值的統計
df.Time.value_counts() #1:00有幾筆, 2:00有幾筆, etc
df.Building.unique() #Building 這一欄有多少種類的值

產生自己的欄位

# 產生關於時間的欄位
def generate_date_time_columns(df):
    if('DateTime' in df.columns):
            df['Date'] = df.DateTime.str[:10]
            df['Date'] = pd.to_datetime(df['Date'], format='%Y-%m-%d')
            df['Weekday'] = df['Date'].dt.dayofweek + 1
            df['Time'] = df.DateTime.str[11:]
            df['Week'] = df['Date'].dt.week
    else:
        print('DataTime not in column. Please rename columns name.')
    return df

# cost_rate:一度電大概多少錢
def generate_cost_columns(df, cost_rate):
    df['Cost'] = df.Usage * cost_rate
    print('Column "Cost" had been generated!')
    return df

日期、時間、星期幾、第幾週、電費

離群值是魔鬼

極端值是天使

  • 先弄掉離群值
    才能畫出東西

  • 探討發生的原因

 

處理前|處理後

#把原始資料的空格拿掉
def clear_white_space(df): 
    print("Before: ", df.Building.unique())
    for y in df.select_dtypes(include = 'object').columns:
        df[y] = df[y].str.strip()
    print('After: ', df.Building.unique())
clear_white_space(df)

BUG:一棟樓一筆紀錄

 

不能看分樓層、分房間討論R

哭哭

議題一

對象:在一棟大樓中

用電隨時間變化是如何?

極大 / 極小值發生在何時?

議題二

對象:不同大樓之間

用電的變化是否有不同?

議題一

館舍比較

教學用電

106 年平均月用電比例

教學館

106年

平均月用電比例

 

宿舍

106年

平均月用電比例

 

議題二

單一館舍分析

資料來源:科學三館,2016.09 - 2017.08

十二舍用電分析

日期




2017.09.01 - 2017.11.10

每日用電

十二舍用電分析

Index(隨時間正序)




2017.09.01 - 2017.11.10

每小時用電

顏色代表第幾周

十二舍用電分析

Weekday




2017.09.01 - 2017.11.10

一週平均用電

十二舍用電分析

Weekday




2017.09.01 - 2017.11.10

每周平均用電

顏色代表第幾周

十二舍用電分析

時間(小時)




2017.09.01 - 2017.11.10

小時平均用電

00:00 

23:00 

十二舍用電分析

時間(小時)




2017.09.01 - 2017.11.10

小時平均用電

00:00 

23:00 

顏色代表Weekday

十二舍用電分析

時間(小時)




2017.09.01 - 2017.11.10

小時平均用電

00:00 

23:00 

顏色代表第幾周

十二舍用電分析

時間(小時)



2017.09.01 - 2017.11.10

小時用電成長率

00:00 

23:00 

顏色代表星期幾

十二舍用電分析

日期

夜:3 am - 6 am, 日:8 am - 18 pm ( 平均值)

 

小時日夜用電比

紅色:夜用電

綠色:日用電

紫色:日/夜 (經縮放)

 

應用

1/視覺化

2/提供能源管理者更易懂的分析

其實還在構想(有建議嗎?) 

 

如何透過行為科學讓人省電

Idea: 梅竹節電賽

Ask

Good

Questions
 

*最簡單也最重要的一件事

文章|提問的能力

未來分享資源

  • 如何開始進入資料分析
  • 校園資料分析專案手冊
  • 資料分析資源包

Follow

專案後續進展

https://goo.gl/5UFAYH

為什麼叫 BOJNE™

交大用電分析|SITCON

By johannhuang

交大用電分析|SITCON

  • 741