由於591 改版的緣故,2021 的年度資料,也存在資料遺失的問題。但因為在 10 月爬蟲機器人修正後,有將所有資料重新更新一次,因此遺失的狀況,會比逐月、逐季資料還要輕微。以下將比對逐月、整年的資料集,並對照 2020 與 2021 兩年的差異,以提供遺失情況的線索。
由於影響 591 刊登物件數的變因很多,單純第比較跨月、跨年的數量,並沒有太多意義,因此本文所作的分析,以確認資料的性質為主。
附註:
對照逐年與逐月資料,可知 8-9 月資料找回大半,但 7 月資料缺失依然
由於 2021 的資料修正,是在 10 月時執行,因次若比較逐年、逐月資料間的差異,就能了解資料復原的狀況。這裡使用全部的 26 個資料集的「物件首次發現時間」,計算各資料集每月各出現多少物件後,再將「逐年資料」除以「逐月資料」,就能得到「年度逐月比」:
詳細資料如下表:
月份 | 2020 年 | 2021 年 |
---|---|---|
1 | 106% | 103% |
2 | 103% | 103% |
3 | 103% | 103% |
4 | 104% | 104% |
5 | 103% | 103% |
6 | 104% | 104% |
7 | 104% | 109% |
8 | 104% | 125% |
9 | 103% | 137% |
10 | 103% | 103% |
11 | 105% | 106% |
12 | 158% | 157% |
由數據可發現:
- 兩年的 12 月逐年資料量,都較其他月高很多,屬預料之內
- 591 的物件刊登時限是兩個月,且允許重複刊登
- 因此在逐年資料集中,12 月包含了今年以及去年 12 月的開始刊登的物件,但逐月資料則沒有
- 11 月也因為同一個原因,年度逐月比稍高
- 沒有資料大量遺失的 2020 年,年度逐月比都在 103% - 105% 左右
- 有資料遺失的 2021 年,8、9 月的年度逐月比,都比其他月高非常多, 7 月則略高一點
- 扣掉背景平均值的 104% ,8、9 月各補回 21% 、33% 的資料
- 從[上一篇分析](591 改版)可知,8、9 月推估的資料遺失狀況為 37%、45%
- 可見這兩個月的資料,都回補了大半
- 但 7 月由於距離修正時間已遠,因此依然遺失了 30% 左右的資料
比對逐年資料,可推測 2021 5-10 月租屋刊登量較去年同期低
純就數量而言,我們可以將年度資料的每月統計,以逐月資料 + 每月推估遺失率回推,就能得到推估的逐年資料總數。
詳細資料如下表,計算公式可見此試算表:
月份 | 2020 年 | 2021 年 | 2021 推估 |
---|---|---|---|
1 | 75,093 | 99,434 | 99,434 |
2 | 95,713 | 80,031 | 80,031 |
3 | 109,159 | 107,380 | 107,380 |
4 | 106,248 | 101,300 | 101,300 |
5 | 109,391 | 90,478 | 90,478 |
6 | 107,069 | 69,311 | 73,418 |
7 | 111,303 | 71,392 | 91,167 |
8 | 107,452 | 79,412 | 89,480 |
9 | 101,506 | 70,964 | 77,450 |
10 | 103,721 | 84,599 | 84,599 |
11 | 102,808 | 107,562 | 107,562 |
12 | 156,218 | 169,315 | 169,315 |
由圖表可知:
- 即便在考量資料遺失的狀況後,2021 05~10 的刊登物件數,明顯比 2020 少了 10% ~ 20%
- 但 2021 11 月開始,就穩定超過 2020 ,但詳細原因,仍有待分析
逐月計量原始碼
以上的每月統計,皆使用下述 python 腳本運算:
import sys
import pandas as pd
files = sys.argv[1:]
for file in files:
print('\n==== {} ====='.format(file))
house = pd.read_csv(file, low_memory=False)
house['createdAt'] = house['物件首次發現時間'].astype('datetime64')
groupStats = house.groupby(house["createdAt"].dt.month)[['createdAt']].count()
print(groupStats)