コラムバックナンバー
株式会社Rejoui 菅 由紀子
発信元:メールマガジン2021年1月27日号より
2021年に入り、再び新型コロナウイルス感染症拡大防止のため、首都圏をはじめとして再び緊急事態宣言が発令されました。2020年は4月初旬で勤務形態の変更をはじめとして従来の価値観が大きく変わった年でしたが、2020年の殆どの期間、私が気にかけていたのが「異常値・外れ値・欠損値」の処理についてです。前回は異常値と外れ値について記載しましたが、今回は欠損値についての具体的な処理方法と、気をつけるべきポイントを記載したいと思います。
前回のコラムはこちら「異常値・外れ値・欠損値(1)」
欠損値とは
欠損値とは、分析に利用するデータにおいて、何らかの理由によりデータが記録されず存在していない状態を言います。欠測、欠落とよばれることもあり、英語では missing data といいます。対して全て揃っているデータのことを完全データ(complete data)と呼びます。データの欠損状況は、分析用のデータセットが揃った時点で 1. サンプル単位での欠損状況の確認を行い(レコード単位)、 2. さらには変数内での欠損状況の確認(列単位)を両方向から行います。たとえば小売店の分析を行うことになり顧客マスタが1万人分、データには、顧客ID/登録日/性別/年齢/居住地/初回購入のきっかけが入っていたとします。1行を1人の顧客IDとしたとき、それぞれに登録日/性別/年齢/居住地/初回購入のきっかけが揃っているかどうか、これが行単位でのチェックです。そして、1万件に対して登録日のデータ入力状況、性別の入力状況、年齢の入力状況……といったように、変数ごとの確認もします。「殆どのデータが含まれていない顧客」や「居住地が欠けている顧客」「初回購入のきっかけは300人程度しか入力されていない」といった状況が起きていたら、どのように対処するとよいでしょうか。
対処法:レコードごと除く
欠けた変数が多いレコード(このケースでは顧客)をそもそも削除して対処することは非常にシンプルで理解しやすい対処です。特に、全データのうちほんの数件しかないという場合であれば、この対処で問題ありません。では、分析しようとする対象のデータの多くに欠損があるという場合ではどうすればいいでしょうか。分析対象は1万件あるのに、半数近くが欠損ばかりという状況では、適切な分析は実行できるでしょうか? このとき「どのような情報が欠損しているのか」「欠損している情報は分析課題を解くために必要なのか」という視点が非常に大切になります。
対処法:欠損の多い変数を除く
分析課題を解くために必要でない変数は、分析の対象外として差し支えないと言えます。ただし、欠損している理由や背景については十分に確認することが求められます。私達の手元には、何かが起きた「結果」としてデータがやってきます。そのため「欠損が多く起こっている」ということも情報となります。システムにおけるバグやエラー、抽出やデータ化時の人的ミスなど「欠損が起きている状況」の把握は、実は新たなインサイトの発見のきっかけとなることが多くあります。
対処法:補完する
欠損値の補完には多くの方法があります。今回はその中でも代表的なものをご紹介したいと思います。
(1)代表値で補完する
シンプルでよく知られた方法として、平均値や最頻値等の代表値で補完するという方法があります。ただし闇雲に代表値を入れればいいというものでは、もちろんありません。そのデータを補完することによりデータの分布に影響がないかどうかは必ず確認する必要があります。
(2)類似するデータで補完する
欠損しているデータと類似した特性を持つデータの値を使って補完するという方法もよく行われます。たとえば欠けているデータが60代男性であった場合、類似する属性である60代男性を特定してその値を代入するという方法です。(1)の代表値を属性別に計算して補完するということも行いますので、(1)と(2)の組み合わせで行うケースもあります。また、K近傍法など機械学習の技法を用いて「似ているサンプルを特定」し、それらを用いるというケースもあります。
(3)予測して補完する(回帰分析の活用など)
欠損している変数と、他の変数の関係性が明らかである場合は回帰分析などの手法を用いて一方を予測し、その値をもって補完する方法もよく行われます。そもそもどのようなプロジェクトにおいても変数間の関係性把握は行うでしょうから、その過程で実行するのもスマートではないでしょうか。
(4)多重代入法を活用する
利用可能なデータを用いて多重で代入するアプローチ、多重代入法もよく知られた方法です。多重代入法の内部で使われているアルゴリズムにも様々なものがあります。また、前述の方法と組み合わせることも多く行われます。
いずれの方法であっても「データの取得背景」を理解しておくと、なぜ欠損となったのかということを把握しやすくなり、対処の方法も選択しやすくなります。
新型コロナウィルスの感染拡大の影響を受け、私達の手元に集まるデータは欠損が多くなりがちです。そこには「欠損が起きた」という事実があります。私はデータセットに「欠損があり、欠損を補填した値である」という記録をもたせてデータを処理するように心がけています。そこには「データがない」という事実が有るためで、その意味合いにおいては「情報は有る」のです。
今回の二度目の緊急事態宣言の発令は、はじめての2020年4月とはデータの振る舞いも異なっているでしょうが、異常値・外れ値・欠損値が起きるだろうことは明らかです。データから何が起きているかを観測するのが分析者の仕事ではありますが、起きることがわかっていることに備えるのも分析者に必要な資質ではないでしょうか。
株式会社サイバーエージェント、株式会社ALBERTを経て、2016年に株式会社Rejouiを設立。DX推進支援、データ分析・利活用コンサルティング、データサイエンス教育事業などを展開。
統計ソフトRやPythonを活用した分析入門講座をはじめ、学生、企業、官公庁へ向けた統計・データサイエンス学習講座を提供。日本行動計量学会、WiDS TOKYO @ YCU、日本RNAi研究会等、数々の学会およびシンポジウムに登壇。自身がアンバサダーを務める人材育成の活動(WiDS HIROSHIMA)が評価を受け、2021年度日本統計学会統計教育賞受賞。
2023/04/20(木)
オンラインセミナー「GA4活用、分析改善と広告運用の現場から」|2023/4/20(木)
Google アナリティクス 4(GA4)の本格的な利用が始まる2023年です。ユニバーサル アナリティクスとは異なる仕様が多く、従来は容易 …
2023/03/16(木)
オンラインセミナー「ウェブ/アプリのUX戦略 データ分析と定性分析の絶妙なバランスは?」|2023/3/16(木)
データ分析をするとき「肌感」は重要なポイントです。 あなたがGA4などアクセス解析のデータを読み解きするとき、 対象のウェブ/アプリについて …
2023/03/10(金)
【ランチタイム開催】「2023年デジマ予測 キーワードマーケティング滝井さんに聞く 今後、検索はどうなるの? 」|2023/3/10(金)
セミナー・イベント名 【ランチタイム開催】「2023年デジマ予測 キーワードマーケティング滝井さんに聞く 今後、検索はどうなるの? 」 セミ …
【コラム】人間の思考はAIに置き換えられるのか、どのような思考が人間の価値として残るのか
株式会社真摯 いちしま 泰樹AI関連の技術的なトレンドの変化が大きく、もしかしたら私たちの思考の一部は価値を失うのかもしれないと思ったりもします。何について考えるのが人 …
知的な仕事において情報の収集は大切です。当然ですが正しい情報を収集することが必要で、誤った情報は掴まないようにしなくてはなりません。おそらく …
あるツイートに目が留まりました。つぶやいた主は、企業に向けたコンテンツ作成をビジネスにしている人のようです。 「品質の高いコンテンツを時間を …