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 と互換性のある欠損値を処理するのに最適なパッケージであるため、必ず共有して情報を広めるようにしてください。

ではごきげんよう、

ジョージ


Python における Self とは: 実際の例

Python における Self とは: 実際の例

Python における Self とは: 実際の例

RでRDSファイルを保存してロードする方法

RでRDSファイルを保存してロードする方法

R の .rds ファイルからオブジェクトを保存および読み込む方法を学習します。このブログでは、R から LuckyTemplates にオブジェクトをインポートする方法についても説明します。

最初の N 営業日の再考 – DAX コーディング言語ソリューション

最初の N 営業日の再考 – DAX コーディング言語ソリューション

この DAX コーディング言語チュートリアルでは、GENERATE 関数の使用方法とメジャー タイトルを動的に変更する方法を学びます。

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

LuckyTemplates のマルチスレッド動的ビジュアル手法を使用したインサイトのショーケース

このチュートリアルでは、マルチスレッド動的ビジュアル手法を使用して、レポート内の動的データ視覚化から洞察を作成する方法について説明します。

LuckyTemplates のフィルター コンテキストの概要

LuckyTemplates のフィルター コンテキストの概要

この記事では、フィルター コンテキストについて説明します。フィルター コンテキストは、LuckyTemplates ユーザーが最初に学習する必要がある主要なトピックの 1 つです。

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Online Service でアプリを使用する際の最良のヒント

LuckyTemplates Apps オンライン サービスが、さまざまなソースから生成されたさまざまなレポートや分析情報の管理にどのように役立つかを示したいと思います。

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

時間の経過に伴う利益率の変化を分析する – LuckyTemplates と DAX を使用した分析

LuckyTemplates でのメジャー分岐や DAX 数式の結合などの手法を使用して、利益率の変化を計算する方法を学びます。

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

DAX Studio でのデータ キャッシュのマテリアライゼーションのアイデア

このチュートリアルでは、データ キャッシュの具体化のアイデアと、それが結果を提供する際の DAX のパフォーマンスにどのように影響するかについて説明します。

LuckyTemplates を使用したビジネス レポート

LuckyTemplates を使用したビジネス レポート

これまで Excel を使用している場合は、ビジネス レポートのニーズに合わせて LuckyTemplates の使用を開始するのに最適な時期です。

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて

LuckyTemplates ゲートウェイとは何ですか? 知っておくべきことすべて