RW/GGMICE での欠落データの視覚化

RW/GGMICE での欠落データの視覚化

分析におけるほとんどのことはさまざまな要因によって決定されるため、データを分析するときは、欠損値を見つける方法に関する次のステップを知りたいと考えます。これを支援するために、 ggmiceパッケージを使用してR で欠損データを視覚化することに取り組みます。このチュートリアルのビデオ全体は、このブログの下部でご覧いただけます

「欠損値についてはどうすればよいですか?」これは、データを分析するときに尋ねるべき重要な質問です。これらは null または NA としてコード化されているため、簡単に見つけられることを誰もが望んでいます。

いくつかの一般的な経験則と次のステップを見てみましょう。欠落データはいくつありますか?などの質問に答える方法を学びます。問題の大きさはどれくらいですか? データから何らかのパターンを見つけることができるでしょうか?

これを行う方法はたくさんありますが、最初の探索的な開始として、R で欠損データを視覚化することを使用します。

目次

いつ削除するか、いつ欠損値を見つけるか

欠損値にパターンがなく、列内であってもデータセット内であっても、観測値の 5% 未満に影響を与えている場合は、それらの欠損値を削除することができます。

ただし、それがより広範囲に広がっていることが判明し、視覚化に基づいていくつかの重要なパターンを見つけることができる場合は、そのデータを使用して何かを行う必要があるかもしれません。

したがって、これらの値を削除する代わりに、これらの値を代入することができます。なぜなら、これらの値がそのままのパターンで欠落している理由についてのストーリーがおそらく存在するからです。

RW/GGMICE での欠落データの視覚化

このデモでは、欠損値を代入するパッケージを使用します。これは、R で欠損データを視覚化するための新しいパッケージであり、ggmiceと呼ばれます。

目的は、パターンと欠損値の数を見つけることです。したがって、プロット パターンを調べてから、プロット予測行列を調べます。

MICE は、連鎖法による多変量代入の略です。仕組みについては説明しませんが、このアルゴリズムを使用した場合にデータがどのように代入されるかを学びます。

ggmice を使用して R で欠損データを視覚化する場合に知っておくべきもう 1 つのことは、ggmice は実際にはggplot2 と互換性があることを意図しているため、有名な視覚化パッケージ であるggplot2を基にしていくつかの視覚化を構築できるということです。

RW/GGMICE での欠落データの視覚化

GGMICE を使用して R の欠損データを視覚化する手順

RStudio を起動してみましょう。最初に行う必要があるのは、library (ggmice)、ggplot2 を含むライブラリ (tidyverse) 、およびライブラリ (Ecdat)データセットを入力して、必要なすべてのパッケージをインポートすることです。

ライブラリ (Ecdat) パッケージには、練習に適した優れたデータ セットが多数含まれています。そのため、私たちはそれを使用および輸入しています。

RW/GGMICE での欠落データの視覚化

データ セットの 1 つはヘルプ (MCAS)です。これに対してヘルプ機能を実行してみましょう。

ご覧のとおり、これは Ecdat からのものであり、テスト スコア データ セットです。このヘルプ ドキュメントでは、各列について説明し、その列の出所について説明します。

これを使用して、欠損データがあるかどうか、また欠損データがある場合にはどのようなパターンが形成されるかを学習します。

RW/GGMICE での欠落データの視覚化

is.na (MCAS)を使用して、「実行」をクリックしてみましょう。ご覧のとおり、TRUE と FALSE が多数存在します。FALSE と TRUE は偽装された 0 と 1 なので、colSums (is.na(MCAS))関数を使用してこれらを合計することができます。これは、値が欠落しているかどうかを確認する方法です。

RW/GGMICE での欠落データの視覚化

以下に示すように、欠損値はspctotsc8avgsalaryなどの 3 つの列で見つかります。これらの列の説明は、ヘルプ ドキュメント セクションで参照できます。

RW/GGMICE での欠落データの視覚化

また、colSums (is.na(MCAS)) / nrow (MCAS)を使用すると、行数がパーセンテージに変わります。これは 1 つの見方ですが、最も簡単な方法ではありません。

RW/GGMICE での欠落データの視覚化

この場合、ggmice が何をしてくれるのかを見てみましょう。ここでは、browseVignettes (package = 'ggmice')関数を使用し、[Run]をクリックします。

RW/GGMICE での欠落データの視覚化

この機能に関する説明がいくつかあるので、ggmiceを選択し、 HTMLリンクをクリックして、役に立つ可能性のあるチュートリアルをいくつか見てみましょう。

RW/GGMICE での欠落データの視覚化

RW/GGMICE での欠落データの視覚化

スクリプトに戻り、plot_pattern (MCAS)関数を使用してデータ セットを渡しましょう。

RW/GGMICE での欠落データの視覚化

よりわかりやすく視覚化するには、[ズーム]ボタンをクリックします。図に示すように、155 個の観測値のうち、spcには 9 個の欠損値があり、avgsalaryには 25 個、totsc8には 40 個あります。

これらのいずれかが一致するかどうか、その数は何であるか、それらがクラスターになる傾向があるかどうかを調べてみましょう。

RW/GGMICE での欠落データの視覚化

これをクロスチェックするには、ビュー (MCAS)関数を使用して[実行]をクリックするというアナログ方法を試すことができます。

RW/GGMICE での欠落データの視覚化

これは、欠損値をすべて確認できるスプレッドシート ビューアのようなものです。[ソース エディター]ボタンをクリックしてこれを展開することもできます。

RW/GGMICE での欠落データの視覚化

Power Queryと同様に、合計エントリと NA が欠損値であることがわかります。注目すべきことに、ビュー (MCAS) の合計エントリは 220 ですが、plot_pattern (MCAS) のエントリは 155 のみです。これは、それ自体はプロットされていない完全な値が存在した可能性があるためです。

また、変数と行に基づいてクラスタ化する傾向があることがわかります。ただし、多くの場合、どちらか一方だけが欠落しています。実際には、この視覚的な処理を行ごとに実行するのは難しいため、ここで視覚化が役に立ちます。

RW/GGMICE での欠落データの視覚化

欠損データの代入

次に行うことは、スクリプトに戻り、「 nrow (MCAS) 」と入力してから、sum(is.na(MCAS)$totsc8)) と入力することです。

この場合、200 個の観測値のうち 40 個が欠損値であることがわかります。Rに40/200を入れて計算機として使ってみましょう。したがって、欠損値は約 20% と非常に多くなります。

理想的には、これほど多くの人が行方不明になっている理由を知りたいと考えています。おそらく、データの収集方法が原因で、これが推測できるのかもしれません。

RW/GGMICE での欠落データの視覚化

これを行うには、ライブラリ (マウス) パッケージをインポートしましょう。これは補完手法の 1 つです。

RW/GGMICE での欠落データの視覚化

次に、 MCAS_pred < –="" Quickpred="">関数とLot_pred(MCAS_pred)関数を使用してみましょう。これらを必ず保存し、「実行」をクリックして、「ズーム」ボタンをクリックしてください。

RW/GGMICE での欠落データの視覚化

多変量代入を使用する場合、このアルゴリズムは、欠落しているものに類似した観測値とデータ ポイントを見つけて、それらを埋めようとします。

たとえば、spc列です。これらは、 totsc8およびavgsalaryと同様に欠損値を予測するのに役立ちます。現時点ではまだ実行していませんが、どのような値と変数が関連しており、それらの値を妨げるのに役立つ可能性があるかを確認しています。

RW/GGMICE での欠落データの視覚化

もう一つ試してみましょう。ggmice (MCAS, aes(x=avgsalary, y=totsc8)) + geom_point ( ) を使用し、「実行」をクリックします。

これは散布図ですが、ggmice を使用している点が異なります。基本的に、かなりの数の欠損値を持つこれら 2 つの変数間の関係を確認できるという考えです。そのうちの 1 つが不足していて、もう 1 つが利用可能な場合、それらのポイントがどこにあるかを確認できます。

この状況では、これらの両方がいずれかのケースで観察されます。1 つは欠けていますが、もう 1 つはありません。両方が欠けている場合は、プロットには表示されません。

RW/GGMICE での欠落データの視覚化


DataEditR パッケージを使用して R でデータを編集する
データ モデルの Power Query のベスト プラクティス
LuckyTemplates に R パッケージをインストールする方法

結論

欠損値を扱うときは、値の代入が非常に強力であるため、MICE のようなアルゴリズムを使用したくなります。ただし、自分でデータを調べて、何が起こっているのかを理解することをお勧めします。

理想的には、欠損データが多数ある場合は、その理由を解明し、さらにデータを取得したり、それを代入したりできる可能性があります。ソースに直接アクセスすることが常に推奨されます。

最終的に欠損値を代入したい場合は、 tidyverse パッケージを使用して、平均値や中央値などの単純な代入メソッドを実行できます。

MICEパッケージが強力であることは間違いありません。計算量が非常に多いものには過剰になる可能性がありますが、私たちは現在、その視覚化要素だけに焦点を当てています。

何かを学んで、このパッケージを気軽に使って��ただければ幸いです。これは、ggplot2 と互換性のある欠損値を処理するのに最適なパッケージであるため、必ず共有して情報を広めるようにしてください。

ではごきげんよう、

ジョージ


Power Automate の文字列関数: Substring と IndexOf

Power Automate の文字列関数: Substring と IndexOf

Microsoft フローで使用できる 2 つの複雑な Power Automate String 関数、substring 関数とindexOf 関数を簡単に学習します。

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates でビジュアル ツールチップを作成する

LuckyTemplates ツールチップを使用すると、より多くの情報を 1 つのレポート ページに圧縮できます。効果的な視覚化の手法を学ぶことができます。

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を行う

Power Automate で HTTP 要求を作成し、データを受信する方法を学んでいます。

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で日付テーブルを作成する方法

LuckyTemplates で簡単に日付テーブルを作成する方法について学びましょう。データの分析と視覚化のための効果的なツールとして活用できます。

2 つの方法による SharePoint 列の検証

2 つの方法による SharePoint 列の検証

SharePoint 列の検証の数式を使用して、ユーザーからの入力を制限および検証する方法を学びます。

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel または CSV ファイルにエクスポート

SharePoint リストを Excel ファイルおよび CSV ファイルにエクスポートする方法を学び、さまざまな状況に最適なエクスポート方法を決定できるようにします。

Power Automate のオンプレミス データ ゲートウェイ

Power Automate のオンプレミス データ ゲートウェイ

ユーザーがコンピューターから離れているときに、オンプレミス データ ゲートウェイを使用して Power Automate がデスクトップ アプリケーションにアクセスできるようにする方法を説明します。

DAX 数式での LASTNONBLANK の使用

DAX 数式での LASTNONBLANK の使用

DAX 数式で LASTNONBLANK 関数を使用して、データ分析の深い洞察を得る方法を学びます。

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

CROSSJOIN 関数の使用方法 – LuckyTemplates および DAX チュートリアル

LuckyTemplates で予算分析とレポートを実行しながら、CROSSJOIN 関数を使用して 2 つのデータ テーブルをバインドする方法を学びます。

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

TREATAS 関数を使用して LuckyTemplates で仮想リレーションシップを作成する

このチュートリアルでは、LuckyTemplates TREATAS を使用して数式内に仮想リレーションシップを作成する方法を説明します。