0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

サステナビリティへの道:データからの示唆と提案

Last updated at Posted at 2024-10-27

はじめに

この記事では、提供されたデータセットを活用し、持続可能な社会を目指すための分析と提言を行い、その過程と結果を共有します。

データセットの出典元 こちら

ダイジェスト

インサイト

  • 世界全体のCO2排出量のうち、わずか10カ国が68%を、30カ国が88%を排出しています。
  • CO2排出量とGDPの間には78%という高い相関関係があり、経済活動と環境負荷の密接な関連性を示しています。
  • 上位10カ国でCO2排出量は全体の68%、GDPは65%と大きな割合を占め、経済力や環境に大きな格差が生じています。

image.png
image.png

*赤色がCO2排出量上位国であり、緑になるにつれて排出量が少ないことを表しています。

image.png
image.png

*各国のGDP(国内総生産)を表すグラフ

提案

  • 経済活動と環境負荷の関連性が高いことから、経済成長と環境保護を両立させるために、環境技術やクリーンエネルギーへの投資を促進する政策が必要です。
  • 先進国からの技術移転や能力構築の支援を通じて、新たな産業の育成と雇用創出を図ることが重要です。

目次

1.シナリオ
2.準備
3.分析と共有

4. 相関関係を探る

5. その他(補足)
6. まとめ
7. 振り返りと展望

1 シナリオ

データセットは、世界各国のCO2排出量、エネルギー消費量、総人口、GDPなどの情報を含んでいます。

これらのデータを分析することで、環境と経済の関連性を探り、持続可能な社会を実現するための具体的な施策を考えます。

2010年を対象に分析しました。

データセットは下記から提供されたものです。
CO2
Enery data(xlsx形式)
Total Population(xlsx形式)
GDP Total(xlsx形式)

ファイルの内容は以下のようになっています。

image.png

image.png

ほか3ファイルの内容

image.png

image.png
image.png

2. 準備

1.上記ファイルのダウンロードを行います。

2.Excel形式のファイルをBigQueryで直接読み込むことはできませんので、まずGoogleスプレッドシートにインポートし、その後、ファイルメニューのダウンロードからCSV形式に変換します。

image.png

注釈
4ファイルあるため、同じ手順で合計4回行います。

3.BigQuery - プロジェクトを作成 - データセット作成 - テーブル作成の手順を踏みます。

image.png

4.準備完了です。

3. 分析と共有

重複確認

1.CO2 Data

SELECT
  CO2__kt_,
  COUNT(*) AS occurrence
FROM
  CO2.co2_data
WHERE
  year = 2010
GROUP BY
  CO2__kt_
HAVING
  COUNT(*) > 1;

image.png

  • NULLは無視して分析を行います。
  • 重複が確認されたため、分析する際はDISTINCTを用いて重複を除外します。

2.Energy Data

SELECT
  Energy_use__kg_of_oil_equivalent_per_capita_,
  COUNT(*) AS occurrence
FROM
  CO2.Energy_data
WHERE
  year = 2010
GROUP BY
  Energy_use__kg_of_oil_equivalent_per_capita_
HAVING
  COUNT(*) > 1;

image.png

  • NAが確認されたため、分析の際はNANULLIF関数を用いてNULLに置き換えます。
ほか2項目

3.Total Population

SELECT
  Population_Total,
  COUNT(*) AS occurrence
FROM
  CO2.total_population
WHERE
  year = 2010
GROUP BY
  Population_Total
HAVING
  COUNT(*) > 1;

image.png

・問題なしです。

4.GDP

SELECT
  _current_GDP_,
  COUNT(*) AS occurrence
FROM
  CO2.GDP
WHERE
  year = 2010
GROUP BY
  _current_GDP_
HAVING
  COUNT(*) > 1;

image.png

  • NAが確認されたため、分析の際はNANULLIF関数を用いてNULLに置き換えます。

欠損値確認

1.CO2 Data

SELECT 
    COUNT(*)
FROM 
    CO2.co2_data
WHERE 
    CO2__kt_ IS NULL 
    AND year = 2010;

image.png

  • 欠損値が確認されましたが、補完するためのDMLクエリの実行には料金が発生します。そのため、今回は欠損値を無視して分析を行うこととします。
ほか3項目

2.Energy Data

SELECT
  COUNT(*)
FROM
  CO2.Energy_data
WHERE
  Energy_use__kg_of_oil_equivalent_per_capita_ IS NULL
  AND year = 2010;

image.png

3.Total Population

SELECT
  COUNT(*)
FROM
  CO2.total_population
WHERE
  Population_Total IS NULL
  AND year = 2010;

image.png

4.GDP

SELECT 
    COUNT(*) AS occurrence_of_missing_values
FROM 
    CO2.GDP
WHERE 
    _current_GDP_ IS NULL 
    AND year = 2010;  

image.png

全て問題なしです。

3-1. CO2 dataを分析

CO2データから順に分析を行います。

データを確認します。

image.png

  • 先ほど重複が確認されたため、DISTINCTを用いて重複を除外します。
  1. CO2排出量の合計
  2. CO2排出量の平均
  3. CO2排出量の上位10カ国が全体に占める割合
  4. CO2排出量の上位30カ国が全体に占める割合
  5. 上位10カ国を可視化
  6. 上記で得た結果をもとにグラフ化

1.CO2排出量の合計

SELECT
  SUM(DISTINCT CO2__kt_) AS CO2_kt
FROM
  CO2.co2_data
WHERE
  year = 2010;

image.png

  • 合計は31.3ギガトン(Gt)です。

注釈
1キロトン(kt)は1,000トン、1メガトン(Mt)は1,000,000トン、1ギガトン(Gt)は1,000,000,000トンに相当します。

2.CO2排出量の平均

SELECT
  AVG(DISTINCT CO2__kt_) AS CO2_kt
FROM
  CO2.co2_data
WHERE
  year = 2010 ;

image.png

  • 平均は162.2メガトン(Mt)です。

3.CO2排出量の上位10カ国が全体に占める割合

WITH
  Top_10_Countries AS (
  SELECT
    Country_name,
    CO2__kt_
  FROM
    CO2.co2_data
  WHERE
    year = 2010
  ORDER BY
    CO2__kt_ DESC
  LIMIT
    10 )
SELECT
  SUM(CO2__kt_) / (
  SELECT
    SUM(CAST(CO2__kt_ AS FLOAT64))
  FROM
    CO2.co2_data
  WHERE
    year = 2010) AS top_10_percentage
FROM
  Top_10_Countries;

image.png

WITH関数を用いる事でクエリを簡潔にしました。

  • わずか10カ国でCO2排出量全体の68%(21.4Gt)を占めています。

4.CO2排出量の上位30カ国が全体に占める割合

WITH
  Top_30_Countries AS (
  SELECT
    Country_name,
    CO2__kt_
  FROM
    CO2.co2_data
  WHERE
    year = 2010
  ORDER BY
    CO2__kt_ DESC
  LIMIT
    30 )
SELECT
  SUM(CO2__kt_) / (
  SELECT
    SUM(CAST(CO2__kt_ AS FLOAT64))
  FROM
    CO2.co2_data
  WHERE
    year = 2010) AS top_30_percentage
FROM
  Top_30_Countries;

image.png

  • 上位30カ国で全体の88%(27.7Gt)を占めています。

5.上位10カ国を可視化

SELECT
  *
FROM
  CO2.co2_data
WHERE
Year = 2010
ORDER BY
  CO2__kt_ DESC
LIMIT
  10;

image.png

  • 中国とアメリカが世界各国と比較して、抜きんでています。
  • 先進国や人口の多い国がランクインしている印象を受けます。
  • 上記に該当している印象が薄いイランとサウジアラビアがランクインしていることから、エネルギー資源の豊富さと相関がありそうです。

Tableauを用いて可視化しました。

image.png

6.上記で得た結果をもとにグラフ化

  • 平均は162.2メガトンのため、ほぼ目視できない状態になっています。
  • 世界全体のCO2排出量のうち、わずか10カ国が68%を、30カ国が88%を排出しています。
  • 残りの136カ国は全体の12%しかCO2を排出していないことが分かります。

image.png
image.png

*赤色が排出量上位国であり、緑になるにつれて排出量が少ないことを表しています。

3-2. Energy dataを分析

データを確認します。

image.png

  • 上記でNAが確認されたため、NANULLIF関数を用いてNULLに置き換えます。
  • データ型がSTRING(文字列)であるためCAST関数を使用してFLOAT64(数値) に変換します。
  1. エネルギー使用量の合計
  2. エネルギー使用量の平均
  3. エネルギー使用量の上位10カ国が全体に占める割合
  4. エネルギー使用量の上位30カ国が全体に占める割合
  5. 上位10カ国を可視化
  6. 上記で得た結果をもとにグラフ化

1.一人当たりのエネルギー使用量の合計

SELECT
SUM(CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64)) AS Energy_Sum
FROM
  CO2.Energy_data
WHERE
  year = 2010;

image.png

  • エネルギー使用量合計は372トンです。

2.エネルギー使用量の平均

SELECT
  AVG(CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64)) AS Energy_Avg
FROM
  CO2.Energy_data
WHERE
  year = 2010;

image.png

  • 1人当たりのエネルギー使用量の平均は2,643キログラムです。

3.エネルギー使用量の上位10カ国が全体に占める割合

WITH
  Top_10_Countries AS (
  SELECT
    Country,
    CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64) AS Energy_use
  FROM
    CO2.Energy_data
  WHERE
    year = 2010
    AND Energy_use__kg_of_oil_equivalent_per_capita_ != 'NA'
  ORDER BY
    Energy_use DESC
  LIMIT
    10 )
SELECT
  SUM(Energy_use) / (
  SELECT
    SUM(CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64))
  FROM
    CO2.Energy_data
  WHERE
    year = 2010
    AND Energy_use__kg_of_oil_equivalent_per_capita_ != 'NA') AS top_10_percentage
FROM
  Top_10_Countries;

image.png

  • 上位10カ国で全体の30%(113トン)を占めています。

4.エネルギー使用量の上位30カ国が全体に占める割合

WITH
  Top_30_Countries AS (
  SELECT
    Country,
    CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64) AS Energy_use
  FROM
    CO2.Energy_data
  WHERE
    year = 2010
    AND Energy_use__kg_of_oil_equivalent_per_capita_ != 'NA'
  ORDER BY
    Energy_use DESC
  LIMIT
    30 )
SELECT
  SUM(Energy_use) / (
  SELECT
    SUM(CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') AS FLOAT64))
  FROM
    CO2.Energy_data
  WHERE
    year = 2010
    AND Energy_use__kg_of_oil_equivalent_per_capita_ != 'NA') AS top_30_percentage
FROM
  Top_30_Countries;

image.png

  • 上位30カ国で全体の58%(218トン)を占めています。

5.上位10カ国を可視化

SELECT
  *
FROM
  CO2.Energy_data
WHERE
  Year = 2010
ORDER BY
  SAFE_CAST(NULLIF(Energy_use__kg_of_oil_equivalent_per_capita_,'NA') AS FLOAT64) DESC
LIMIT
  10;

image.png

エネルギー消費との相関が薄い印象の国が上位にランクインしてきたため調査したところ、以下のようなインサイトを得られました。

  • 1位のアイスランドは自然エネルギー(再生可能エネルギー)が豊富で、電力を100%自然エネルギーで賄っています。参照
  • ほか上位の国は、世界有数の石油資源国です。

image.png

6.上記で得た結果をもとにグラフ化

  • CO2に続いて、平均をほぼ目視できない状態になっています。
  • エネルギーは生活するうえで不可欠な資源であるため、他の項目ほど上位の国が占める割合は大きくありません。

image.png
image.png

*緑はNULL値

3-3. Total Population(総人口)の分析

データを確認します。

image.png

  • データ型がSTRING(文字列)であるためCAST関数を使用してFLOAT64(数値) に変換します。
  1. 世界人口の合計
  2. 世界人口の平均
  3. 世界人口の上位10カ国が全体に占める割合
  4. 世界人口の上位30カ国が全体に占める割合
  5. 上位10カ国を可視化
  6. 上記で得た結果をもとにグラフ化

1.世界人口の合計

SELECT
  SUM(CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS Population_Sum
FROM
    CO2.total_population
  WHERE
    year = 2010;

image.png

  • 世界の人口は68億9千人です。

2.世界人口の平均

SELECT
  AVG(CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS Population_Avg
FROM
  CO2.total_population
WHERE
  year = 2010;

image.png

  • 一つの国当たりの人口平均は1,589万人です。

3.世界人口の上位10カ国が全体に占める割合

WITH
  Top_10_Countries AS (
  SELECT
    Country,
    CAST(NULLIF(Population_Total, 'NA') AS FLOAT64) AS Total_pop
  FROM
    CO2.total_population
  WHERE
    year = 2010
    AND Population_Total != 'NA'
  ORDER BY
    Total_pop DESC
  LIMIT
    10 )
SELECT
  SUM(Total_pop) / (
  SELECT
    SUM(CAST(NULLIF(Population_Total, 'NA') AS FLOAT64))
  FROM
    CO2.total_population
  WHERE
    year = 2010
    AND Population_Total != 'NA') AS top_10_percentage
FROM
  Top_10_Countries;

image.png

  • 上位10カ国で、世界人口の59%(40億7千人)を占めています。

4.世界人口の上位30カ国が全体に占める割合

WITH
  Top_30_Countries AS (
  SELECT
    Country,
    CAST(NULLIF(Population_Total, 'NA') AS FLOAT64) AS Total_pop
  FROM
    CO2.total_population
  WHERE
    year = 2010
    AND Population_Total != 'NA'
  ORDER BY
    Total_pop DESC
  LIMIT
    30 )
SELECT
  SUM(Total_pop) / (
  SELECT
    SUM(CAST(NULLIF(Population_Total, 'NA') AS FLOAT64))
  FROM
    CO2.total_population
  WHERE
    year = 2010
    AND Population_Total != 'NA') AS top_30_percentage
FROM
  Top_30_Countries;

image.png

  • 上位30カ国で、世界人口の78%(54億2千人)を占めています。

5.上位10カ国を可視化。

SELECT
  *
FROM
  CO2.total_population
WHERE
Year = 2010
ORDER BY
  SAFE_CAST(NULLIF(population_total,'NA') AS FLOAT64) DESC
LIMIT
  10;

image.png

  • 中国とインドが人口10億人を超えており世界各国と比較して抜き出ています。
  • アジアから中国、インド、インドネシア、パキスタン、バングラディッシュ、日本の6カ国がランクインしています。
  • ナイジェリアはアフリカ大陸から唯一ランクインしており、アフリカ随一の人口大国です。

image.png

6.上記で得た結果をもとにグラフ化

  • 2024年1月時点での国連加盟国数が196カ国であることを考慮すると、平均人口が1,589万人は少なすぎる可能性があります。
  • インドや中国など人口大国が存在するため、世界人口に対する上位国の割合が高くなっています。

image.png
image.png

3-4. GDP(国内総生産)を分析

データを確認します。

image.png

  • 上記でNAが確認されたため、NANULLIF関数を用いてNULLに置き換えます。
  • データ型がSTRING(文字列)であるためCAST関数を使用してFLOAT64(数値) に変換します。
  • _current_GDP_列文字列(カンマ)が含まれるため、REPLACE関数を用いて空文字に置き換えました。
  1. GDPの合計
  2. GDP1国当たりの平均
  3. GDP上位10カ国が全体に占める割合
  4. GDP上位30カ国が全体に占める割合
  5. 上位10カ国を可視化
  6. 上記で得た結果をもとにグラフ化

1.GDPの合計

SELECT
  SUM(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64)) AS GDP_Sum
FROM
  CO2.GDP
WHERE
 year = 2010;

image.png

  • GDPの合計は65兆5千億ドルです。

2.GDPの平均

SELECT
  AVG(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''),'NA') AS FLOAT64)) AS GDP_Avg
FROM
  CO2.GDP
WHERE
year = 2010 ;

image.png

  • GDPの1国当たりの平均は3,183億ドルです。

3.GDP上位10カ国が全体に占める割合

WITH Top_10_Countries AS (
  SELECT
    Country,
    SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64) AS GDP
  FROM
    CO2.GDP
  WHERE
    year = 2010
    AND _current_GDP_ != 'NA'
  ORDER BY
    GDP DESC
    LIMIT
    10
)
SELECT
  SUM(GDP) / (
  SELECT
    SUM(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64))
  FROM
    CO2.GDP
  WHERE
    year = 2010
    AND _current_GDP_ != 'NA'
) AS top_10_percentage
FROM
  Top_10_Countries;

image.png

  • 上位10カ国でGDP全体の65%(42兆9千億ドル)を占めています。

4.GDP上位30カ国が全体に占める割合

WITH Top_30_Countries AS (
  SELECT
    Country,
    SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64) AS GDP
  FROM
    CO2.GDP
  WHERE
    year = 2010
    AND _current_GDP_ != 'NA'
  ORDER BY
    GDP DESC
    LIMIT
    30
)
SELECT
  SUM(GDP) / (
  SELECT
    SUM(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64))
  FROM
    CO2.GDP
  WHERE
    year = 2010
    AND _current_GDP_ != 'NA'
) AS top_30_percentage
FROM
  Top_30_Countries;

image.png

  • 上位30カ国でGDP全体の86%(57兆ドル)を占めています。

5.GDP上位10カ国を可視化

SELECT
  *
FROM
  CO2.GDP
WHERE
Year = 2010
ORDER BY
  SAFE_CAST(REPLACE(_current_GDP_, ',', '') AS FLOAT64) DESC
LIMIT
  10;

image.png

  • 2010年のGDP(国内総生産)が最も高い国はアメリカ合衆国であり、約14兆9千億ドルのGDPを有しており、2位の中国に2倍の差があります。
  • ドイツ、フランス、イギリス、イタリアの欧州各国が、他の項目とは異なり上位にランクインしています。
  • アメリカと政治・経済的につながりの深い国が、上位には数多くランクインしています。

image.png

6.上記で得た結果をもとにグラフ化

  • 世界のGDPが上位30カ国に集中しているため、経済力に大きな格差が生じています。
  • 一部の上位国が豊かである一方で、他の国々が貧困層に属しています。
  • 言い換えれば、ほとんどの国には経済成長の潜在性を秘めており、新興国となり得る可能性があります。

image.png
image.png

4. 相関関係を探る

上記の分析結果から、

  • エネルギー資源の豊富な国がCO2排出量と相関がありそう。
  • CO2を大量に排出している国は、GDP(国内総生産)も高そう等のインサイトを得ました。

これらのインサイトを基に、相関関係を求めました。

4-1. CO2と各項目の相関関係を探る

CO2排出量と総人口における相関関係

SELECT
  CORR(SAFE_CAST(CO2__kt_ AS FLOAT64),SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64 ))AS correlation
FROM
  CO2.co2_data AS CO2_data
JOIN
  CO2.total_population AS population_data
ON
  CO2_data.Country_Name = population_data.Country
WHERE
  CO2__kt_ IS NOT NULL
  AND NULLIF(Population_Total, 'NA') IS NOT NULL
  AND population_data.Year = 2010
  AND CO2_data.Year = 2010;

image.png

  • CO2排出量と総人口の間に55%の相関関係があることから、人口の増加が地球温暖化や気候変動などの環境問題に対する負荷を増加させる可能性があります。

CO2排出量とGDP(国内総生産)における相関関係

SELECT
  CORR(SAFE_CAST(CO2__kt_ AS FLOAT64),SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''),'NA') AS FLOAT64)) AS correlation
FROM
  CO2.co2_data AS CO2_data
JOIN
  CO2.GDP AS GDP
ON
  CO2_data.Country_Name = GDP.Country
WHERE
  CO2__kt_ IS NOT NULL
  AND NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') IS NOT NULL
  AND CO2_data.Year = 2010
  AND GDP.Year = 2010;
  

image.png

  • CO2排出量とGDPの間の78%にも及ぶ高い相関関係は、経済活動と環境負荷の密接な関連性を示しています。

  • 経済が成長するにつれて、エネルギー需要や生産活動が増加し、それに伴ってCO2排出量も増加する傾向があることを窺えます。

4-2. GDPと各項目の相関関係を探る

GDP(国内総生産)と総人口における相関関係

SELECT
  CORR(SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64), SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') AS FLOAT64)) AS correlation
FROM
  CO2.total_population AS population_data
JOIN
  CO2.GDP AS GDP
ON
  population_data.Country = GDP.Country
WHERE
  NULLIF(Population_Total, 'NA') IS NOT NULL
  AND NULLIF(REPLACE(_current_GDP_, ',', ''), 'NA') IS NOT NULL
  AND population_data.Year = 2010
  AND GDP.Year = 2010;

image.png

  • 総人口とGDP(国内総生産)における相関関係が32%と低いことから、人口の増加が経済成長に与える影響は限定的と言えそうです。

  • GDPに与える影響力は技術革新や経済政策の影響の方が大きいと考えられます。

4-3. Energy dataと各項目の相関関係を探る

Energy dataとの相関関係を分析します。

Energy dataテーブルには、一人当たりのエネルギー使用量のデータ(per_capita)しか含まれていないため、CO2テーブルとGDPテーブルもそれぞれ総人口で割ることで、一人当たりのCO2排出量と一人当たりのGDP(国内総生産)を求めます。

image.png

一人当たりのEnergy dataとCO2排出量の相関関係を求めます。

WITH CO2_Energy_per_capita_data AS (
  SELECT
    CO2_data.Country_Name AS Country,
    CO2_data.Year AS Year,
    SUM(SAFE_CAST(CO2_data.CO2__kt_ AS FLOAT64)) / SUM(SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS CO2_per_capita,
    SUM(SAFE_CAST(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_ AS FLOAT64)) AS Energy_per_capita
  FROM
    CO2.co2_data AS CO2_data
  JOIN
    CO2.Energy_data AS Energy_data
  ON
    CO2_data.Country_Name = Energy_data.Country
    AND CO2_data.Year = Energy_data.Year
  JOIN
    CO2.total_population AS population_data
  ON
    CO2_data.Country_Name = population_data.Country
  WHERE
    CO2_data.CO2__kt_ IS NOT NULL
    AND NULLIF(Population_Total, 'NA') IS NOT NULL
    AND NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') IS NOT NULL
    AND population_data.Year = 2010
    AND CO2_data.Year = 2010
    AND Energy_data.Year = 2010
  GROUP BY
    CO2_data.Country_Name, CO2_data.Year
)
SELECT
  CORR(CO2_per_capita, Energy_per_capita) AS correlation_coefficient
FROM
  CO2_Energy_per_capita_data;

image.png

  • 87%にも及ぶ強い正の相関があることから、エネルギー使用量が多い国は一般にCO2排出量も多い傾向があると言えます。

一人当たりのEnergy dataとGDP(国内総生産)の相関関係を求めます。

WITH
  CO2_Energy_per_capita_data AS (
  SELECT
    GDP.Country AS Country,
    GDP.Year AS Year,
    SUM(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''),'NA') AS FLOAT64)) / SUM(SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS GDP_per_capita,
    SUM(SAFE_CAST(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_ AS FLOAT64)) AS Energy_per_capita
  FROM
    CO2.GDP AS GDP
  JOIN
    CO2.Energy_data AS Energy_data
  ON
    GDP.Country = Energy_data.Country
    AND GDP.Year = Energy_data.Year
  JOIN
    CO2.total_population AS population_data
  ON
    GDP.Country = population_data.Country
  WHERE
    NULLIF(_current_GDP_, 'NA') IS NOT NULL
    AND NULLIF(Population_Total, 'NA') IS NOT NULL
    AND NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_, 'NA') IS NOT NULL
    AND population_data.Year = 2010
    AND GDP.Year = 2010
    AND Energy_data.Year = 2010
  GROUP BY
    GDP.Country,
    GDP.Year )
SELECT
  CORR(GDP_per_capita, Energy_per_capita) AS correlation_coefficient
FROM
  CO2_Energy_per_capita_data;

image.png

  • 67%と比較的高い相関関係が求められました。一人当たりのGDPが高い国ほど、一人当たりのエネルギー使用量も比較的高い傾向があると言えます。

5. その他(補足)

CO2排出量を総人口で割り算することによって、一人当たりのCO2排出量を求めます。

その後上位10カ国をグラフにまとめます。

SELECT
  CO2_data.Country_Name AS Country,
  SUM(SAFE_CAST(CO2_data.CO2__kt_ AS FLOAT64)) / SUM(SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS CO2_per_capita
FROM
  CO2.co2_data AS CO2_data
JOIN
  CO2.total_population AS population_data
ON
  CO2_data.Country_Name = population_data.Country
WHERE
  CO2_data.CO2__kt_ IS NOT NULL
  AND NULLIF(Population_Total, 'NA') IS NOT NULL
  AND population_data.Year = 2010
  AND CO2_data.Year = 2010
GROUP BY
  CO2_data.Country_Name
ORDER BY
  CO2_per_capita DESC;

image.png
image.png

  • 上記の国々は、主に砂漠地帯に位置しています。気候が乾燥しているため、インフラに多くのエネルギーが必要とされていると推測します。
  • 世界でも有数の豊富な石油や天然ガスの埋蔵量を持っています。
  • 人口が少ないため、一人当たりのCO2排出量が高くなりやすい傾向にあると推測します。

一人当たりのGDP(国内総生産)を求めます。

上位10カ国をグラフにまとめます。

SELECT 
  GDP.Country AS Country,
  SUM(SAFE_CAST(NULLIF(REPLACE(_current_GDP_, ',', ''),'NA') AS FLOAT64)) / SUM(SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS GDP_per_capita
FROM 
  CO2.GDP AS GDP
JOIN 
  CO2.total_population AS population_data
ON 
  GDP.Country = population_data.Country
WHERE 
  NULLIF(_current_GDP_, 'NA') IS NOT NULL
  AND NULLIF(Population_Total, 'NA') IS NOT NULL
  AND population_data.Year = 2010
  AND GDP.Year = 2010
GROUP BY
  GDP.Country
ORDER BY
  GDP_per_capita DESC;

image.png
image.png

  • タックスヘイブンであるモナコ、リヒテンシュタイン、ケイマン諸島が含まれています。
  • 世界的な金融機関が集まる北欧の金融大国も数多くランクインしています。
  • ランクインしている国は小国で人口が少ないため、富裕層個人の与える影響力が大きいと推測します。

エネルギー使用量を合計しました。

元のEnergy_data(一人当たり)と人口データをかけ合わせます。

 SELECT
  Energy_data.Country AS Country,
  SUM(SAFE_CAST(NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') AS FLOAT64) * SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS Energy_use_Sum
FROM
  CO2.Energy_data AS Energy_data
JOIN
  CO2.total_population AS population_data
ON
  Energy_data.Country = population_data.Country
WHERE
  NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') IS NOT NULL
  AND NULLIF(Population_Total, 'NA') IS NOT NULL
  AND population_data.Year = 2010
  AND Energy_data.Year = 2010
GROUP BY
  Energy_data.Country
ORDER BY
  Energy_use_Sum DESC;

image.png
image.png

  • 相関関係はこちらで一人当たりの値を用いて計算したため割愛します。

エネルギー使用量上位10カ国が全体に占める割合

WITH Energy_Sum_By_Country AS (
  SELECT
    Energy_data.Country AS Country,
    SUM(SAFE_CAST(NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') AS FLOAT64) * SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS Energy_use_Sum
  FROM
    CO2.Energy_data AS Energy_data
  JOIN
    CO2.total_population AS population_data
  ON
    Energy_data.Country = population_data.Country
  WHERE
    NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') IS NOT NULL
    AND NULLIF(Population_Total, 'NA') IS NOT NULL
    AND population_data.Year = 2010
    AND Energy_data.Year = 2010
  GROUP BY
    Energy_data.Country
),
Total_Energy_Use AS (
  SELECT
    SUM(Energy_use_Sum) AS Total_Energy
  FROM
    Energy_Sum_By_Country
),
Top_10_Energy_Using_Countries AS (
  SELECT
    Country,
    Energy_use_Sum
  FROM
    Energy_Sum_By_Country
  ORDER BY
    Energy_use_Sum DESC
  LIMIT
    10
)
SELECT
  SUM(Energy_use_Sum) / (SELECT Total_Energy FROM Total_Energy_Use) AS Top_10_Percentage
FROM
  Top_10_Energy_Using_Countries;

image.png

  • 上位10カ国でエネルギー使用量全体の65%を占めています。

エネルギー使用量上位30カ国が全体に占める割合

WITH Energy_Sum_By_Country AS (
  SELECT
    Energy_data.Country AS Country,
    SUM(SAFE_CAST(NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') AS FLOAT64) * SAFE_CAST(NULLIF(Population_Total, 'NA') AS FLOAT64)) AS Energy_use_Sum
  FROM
    CO2.Energy_data AS Energy_data
  JOIN
    CO2.total_population AS population_data
  ON
    Energy_data.Country = population_data.Country
  WHERE
    NULLIF(Energy_data.Energy_use__kg_of_oil_equivalent_per_capita_,'NA') IS NOT NULL
    AND NULLIF(Population_Total, 'NA') IS NOT NULL
    AND population_data.Year = 2010
    AND Energy_data.Year = 2010
  GROUP BY
    Energy_data.Country
),
Total_Energy_Use AS (
  SELECT
    SUM(Energy_use_Sum) AS Total_Energy
  FROM
    Energy_Sum_By_Country
),
Top_30_Energy_Using_Countries AS (
  SELECT
    Country,
    Energy_use_Sum
  FROM
    Energy_Sum_By_Country
  ORDER BY
    Energy_use_Sum DESC
  LIMIT
    30
)
SELECT
  SUM(Energy_use_Sum) / (SELECT Total_Energy FROM Total_Energy_Use) AS Top_30_Percentage
FROM
  Top_30_Energy_Using_Countries;

image.png

  • 上位30カ国でエネルギー使用量全体の86%を占めています。

Tableau

Tableauで図を作成するまでの過程を記載します。

1.ファイルからデータセットをダウンロードを行います。

2.YearとCountryで各項目を結合します。

3.Yearが数値(整数)形式になっているため、日付形式に変更します。

image.png

4.準備完了です。

6. まとめ

データから得られたインサイト

  • CO2をより多く排出している国には、先進国や人口が多い国が多く含まれています。
  • エネルギーは生活に不可欠な資源であるため、他の項目ほど上位の国が占める割合は大きくありません。
  • 総人口では、中国とインドが10億人を超えており、世界各国と比較して抜き出ており、アジアから中国、インド、インドネシア、パキスタン、バングラディッシュ、日本の6カ国がランクインしています。
  • GDPでは、アメリカや政治・経済的につながりの深い国が上位に数多くランクインしています。
  • 上位10カ国でCO2排出量は全体の68%、エネルギー消費量は65%、総人口は59%、GDPは65%と大きな割合を占め、それに伴い各項目における平均は非常に低くなっています。
  • 一人当たりのGDPが多い国はタックスヘイブンや世界的な金融機関が置かれている小国でした。

相関関係から見えるインサイト

  • CO2排出量とGDPの間には78%という高い相関関係があり、経済活動と環境負荷の密接な関連性を示しています。
  • 総人口とGDP(国内総生産)における相関関係が32%と低いことから、人口の増加が経済成長に与える影響は限定的と言えそうです。
  • CO2排出量と総人口の間には55%の相関関係があり、人口の増加が環境問題に対する負荷を増加させる可能性があります。
  • エネルギー使用量とCO2排出量の間には87%の強い正の相関があり、エネルギー使用量が多い国は一般にCO2排出量も多い傾向があります。

持続可能な社会のための提言

  • 経済活動と環境負荷の関連性が高いことから、経済成長と環境保護を両立させるために、環境技術やクリーンエネルギーへの投資を促進する政策が必要です。
  • 人口増加と経済成長の関連性が限定的であることから、人口増加に対する適切な対策として、教育や社会インフラ整備の充実、新たな産業の育成と雇用創出を図ることなどが重要です。
  • 経済成長を促進するためには、ドル($)を稼ぐことができる事業の推進が重要です。

7. 振り返りと展望

振り返り

  • データセットには欠損値や異常値が多く、それらを適切に処理する方法が分からず苦戦した。
  • 複数のデータソースを統合する際のコードが長く難解でした、サブクエリを容易に書けるようになりたい。
  • 初期段階では冗長なコードを数多く作成してしまい、自身でも理解が難解であったり、訂正に時間を要した。

こだわり

  • クエリの知識が無い方でもわかりやすいように、何が行われているかや結果を明確に伝えるため、グラフや箇条書きを積極的に活用しました。
  • 色彩や軸ラベルを用いてグラフを理解しやすくすることにも注力しました。

展望

  • ウィンドウ関数を活用して、各項目の年代別成長率(1960年から2010年までなど)を分析できるようにしたい。
  • レポートやグラフを作成する際のデータビジュアライゼーションスキルを向上させたい。
  • 相関関係をグラフで表せるようになりたい。
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?