▍AI Dev Lab
GridLights

電源構成の比較を作る:割合と実量を100個の電球で読み解く

電源構成比較GridLightsの開発記録。12か国の年次発電データを最大剰余法で100個の電球に変換し、割合とTWhを比較する設計を解説。欠損を0補完しない7分類、予想と実値、出典付きSVGと実データ検証を整理します。

·decision改善·stage公開中

#電源構成の比較を作る:割合と実量を100個の電球で読み解く

GridLightsは、12か国の国内発電を100個の電球に置き換え、国と年を変えて見比べるツールです。紙色と炭色の観測表、琥珀の見出し、電源ごとの色、明朝と等幅数字で、数字だけの表よりも内訳を掴める展示を目指しました。

国別の時系列比較や画像保存は、EmberのElectricity Data Explorerなどに既にあります。比較機能や無料であることを独自性とは呼びません。今回は、年を動かす、太陽光と風力の割合を予想する、実値と比べる、出典ごと持ち帰る、という日本語の短い学習体験を作りました。利用者の需要や学習効果を検証したわけではありません。

#割合の分母を固定する

使う指標は国内発電量と、その発電量に占める割合です。輸入を含む消費、家庭で契約する電力会社の内訳、総エネルギー消費とは区別します。国の総発電量が違っても、両側の電球は100個です。電球の数だけでは発電量の大小は比べられません。

表には割合と各電源のTWhを並べます。割合が下がったのに発電量が増えるケースもあるためです。割合差は右−左のポイント、発電量差はTWhで表示します。割合差を「何%増減した」と表現すると、相対変化率と混同しやすくなります。

#欠損をゼロにしない

Emberの年次CSVを2026年10月13日に取得しました。2026年7月以降の形式では指標が列に入り、電源と合算値が別々の行に並びます。独立した電源行が揃わない国があるため、すべての欠けた行を0で埋める実装にはしませんでした。

水力・バイオエネルギー・その他再エネは、出典に存在する合算値を使用します。太陽光、風力、合算再エネ、原子力、石炭、ガス、その他化石燃料の7分類へ揃え、合算と内訳を二重計上しません。バイオエネルギーの分類を、環境効果の保証として扱うものでもありません。

312国年のうち306組が完全で、豪州2000〜2005年は欠損のまま残します。近い年度に置き換えず、比較と保存を止めます。表示を整えるための補完よりも、何が分からないかを見えるようにすることを優先しました。

#100個へ丸める最大剰余法

各分類を単純に四捨五入すると、合計が99や101になることがあります。そこで各割合を切り捨て、残った電球を小数部分の大きい順に割り当てます。同率なら分類順で決めるため、同じ入力の結果は変わりません。

例えば33.333%が3分類なら、電球は34・33・33個になります。表の割合は33.333%のままです。整数の電球数と元の小数値を混ぜないことで、小さな電源が0個になっても実発電量が0ではないことを説明できます。

割合の合計やTWhの整合性には、CSVの小数丸めを考慮した小さな許容差を設けます。大きい不一致を100%へ強引に正規化する処理ではありません。非有限値、負の値、重複、分類順の変更、必要な国年記録の不足も拒否します。

#予想と、元の小数を比べる

予想モードでは右の電球と比較表を隠します。太陽光と風力の合計割合を入力すると、元CSVの個別割合を足した値との差を表示します。丸めた電球数は答え合わせに使いません。

日本2025年では10.784%と1.250%を足して12.034%になります。別の集約行の12.033%とは元CSVの丸めによりわずかに異なります。同じ説明の中で違う計算経路の値を入れ替えないことも、比較の再現性に必要です。国や年を変えたら前の予想結果を消し、表示を再び隠します。

#保存した画像にも根拠を残す

SVGには両側100個ずつの電球、国と年、割合と発電量、出典、取得日、加工内容、比較範囲を残します。Emberの再利用条件に従い、CC BY 4.0と出典へのリンクを表示します。ロゴは使わず、Emberの承認を意味する表現もしません。

検査では全306組の数値と100個の割当を照合し、ブラウザーの実保存ファイルをXMLとして読み、200個の電球と7分類の値を確認します。割合が表示されたというだけで終わらず、出力ファイルまで同じ入力を表しているかを確かめます。

#今後育てられる方向

国の選択肢や期間を増やす場合も、データ定義と欠損処理を維持する必要があります。現状は固定スナップショットで、年次値には推計と改訂があります。将来の予測や家庭の電源診断へ広げる場合は、別の根拠と説明が必要です。データ量だけではなく、比較した後に意味を読み取れる体験を育てていきます。

[ ./next_action ]

読んだら、 GridLights を実際に動かす。

この開発ログは GridLights をどう作ったかの記録です。 読み終わったらそのままサービス本体へ戻って、 実物で価値を確かめてください。

[ ./related_logs ]

関連する開発ログ

all logs →
ShadowTwin

立体パズルの別解を作る:同じ影と最少の積み木

ShadowTwinの開発記録。3方向の図から別々の最少配置を2つ探す仕組み、5問の独立全探索、スマホの横並び比較、保存・再編集と入力検査を解説します。実照明の計算や能力診断ではありません。

read log →
SlitCard

スリットアニメーションを作る:4コマの合成と透明原稿の設計

SlitCardの開発記録。4コマの帯を交互に合成し、すき間と黒帯で別のコマを見せる仕組みを解説。同縮尺の台紙・透明シートSVG、50mm確認線、手動プレビュー・初期非表示、再編集と実出力検査を整理します。

read log →
WindowLight

日当たりシミュレーションを作る:窓の光を床へ投影する幾何モデル

WindowLightの開発記録。太陽位置近似から窓の4隅を床へ投影し、凸多角形を部屋で切り取る設計を解説。国立天文台の16時刻との限定照合、大気差・低高度・実際の採光との違い、SVGと設定の再編集を整理します。

read log →
SoundLoom

音のお絵かきを作る:実WAVから絵を測り直す設計

音のお絵かきの開発記録。描画を正弦波のPCMとWAVへ変換し、保存音声の周波数をGoertzel法で測って比較する仕組みを解説。音量・測定窓・量子化の限界と、編集・離脱時の古い結果を抑止する検証を整理します。

read log →
MazeLoom

宝探し迷路を作る:寄り道まで含めた最短ルートの探索

宝探し迷路の開発記録。通路を木として生成し、現在地と3つの宝の取得状態を組み合わせて最短ルートを探す仕組みを解説。問題コードの版固定、画面と解答付きPDFの一致、手数と印刷の検証を整理します。

read log →
BoxNet

箱の型紙と折り図を同じ面から作る設計

小箱の型紙作成の開発記録。面・のりしろ・折り線を共有し、組立確認とA4実寸PDFを作る設計を解説。用紙外を縮小しない判定、校正線、紙厚を扱わない限界、出力検査を整理します。

read log →