ユニット 6 / 11

データ準備と特徴エンジニアリング: 人工知能による保険数理データの処理

利益:

  • 人工知能のサポートにより、欠損値、外れ値、ポリシーの露出およびデータ品質の問題を検出し、データに損害を与える機能を備え、修正草案を作成することができます。
  • 特徴エンジニアリング (新しい変数の導出、グループ化、コーディング) と、適切なコンテキストを使用した人工知能への露出の正規化
  • 人工知能によって提案されたデータ変換は、データ漏洩や隠れたバイアスのリスクに対して保険数理士によって監査される必要があることを理解してください。

あまり話題にならないものの、保険数理業務の中で最も時間がかかる部分はデータの準備です。経験豊富なアクチュアリーは、モデリング プロジェクトのほとんどの時間はデータのクリーニング、結合、修正に費やされることを知っています。モデルがどれほどエレガントであっても、入力データが壊れていれば、出力も壊れます。つまり、「ゴミが入ってゴミが出てくる」ということです。この単元では、保険契約と保険金請求データの典型的な問題、AI を使用してそれらを検出して修正する方法、および特徴量エンジニアリング (既存のデータからより有益な新しい変数を導き出す) アプローチについて説明します。

最初からの警告: データの準備は一見技術的で問題のないステップですが、ここに最も危険なエラーが隠れています。不適切な露出正規化、隠れたデータ漏洩、または無意識に導入されたバイアスにより、後続のすべてのモデルが静かに破損します。 AI はこのステップを大幅に加速しますが、制御されないままにしておくとリスクも増大します。

保険数理データの典型的な問題

保険契約と保険金請求のデータがクリーンな状態で届くことはほとんどありません。最も一般的な問題は次のとおりです。 欠損値: 一部の保険では、車両の年齢、職業、または地域が空白です。これらをやみくもに平均値で埋めると、バイアスが生じる可能性があります。欠損自体が情報を伝えることもあります(欠損は別のグループです)。異常値: マイナス保険料、200 年以上の被保険者、ゼロ保険契約などの非論理的な記録。これらがデータエラーなのか、それとも実際の特殊なケースなのかを区別する必要があります。不一致: 同じ地域の異なるスペル (「Istanbul」、「Istanbul」、「34」)、日付形式の混乱。重複エントリー:同じダメージを二度エントリーすること。

しかし、保険数理に特有の最も重要な問題はエクスポージャーです。保険が年の途中で開始された場合、その年の「保険年度」全体ではなく、部分的なエクスポージャー(たとえば、0.5 年)が提供されます。頻度と損傷率は常に暴露に対して正規化する必要があります。そうでなければ、短期的な保険はリスクが高いように見えます。 AI は暴露計算をコーディングできますが、定義とビジネス ルールを提供する必要があります。

次の表は、典型的な問題と正しいアプローチをまとめたものです。

問題

間違ったアプローチ

正しいアプローチ

欠損値

すべてを平均値で埋める

欠陥を分析します。時々別のカテゴリを開きます

外れ値

自動削除

データエラーと実際のリードを区別する

露出

1年間のすべての保険契約をカウントする

部分露出を計算する

カテゴリの不一致

無視する

標準辞書との照合

繰り返し発生するダメージ

気づかないでください

キーフィールドを使用して重複を排除する

特徴エンジニアリング: データから知識を導き出す

特徴エンジニアリングは、既存の生の変数からモデルにとってより有用な新しい変数を導き出す技術です。例: 生年月日からの「年齢」、年齢からの「年齢グループ」(ビニング)、自動車のメーカーとモデルからの「リスクセグメント」、住所とポリシーの組み合わせからの「年間走行距離推定」。優れた特徴量は生データよりも強い信号を伝え、モデルの精度と解釈可能性の両方を高めます。

保険数理業務では 3 つの手法が頻繁に使用されます。バインディング: 連続変数 (年齢) を意味のあるグループに分割します。これにより、非線形関係が把握され、料金表が読みやすくなります。エンコード: カテゴリ変数 (領域) をモデルに適した数値形式に変換します。リスクベースのコーディング (各カテゴリーを独自の損害率で表す) は一般的ですが、慎重に行う必要があります。正規化: 露出で割ることにより、すべてを比較できるようにします。 AI はこれらの変換用のコードを迅速に生成します。ただし、各変換のロジックを承認する必要があります。

ヒント: ターゲットのエンコードは強力ですが、データ漏洩の危険性があります。カテゴリの平均ダメージを計算するときに行自体のダメージを含めると、モデルが「不正」になります。これは常にトレーニング データ内で相互検証パターンで実行してください。

最も潜行的な危険: データ漏洩と暗黙のバイアス

データ漏洩とは、予測時には実際には存在しない情報がモデルに取り込まれることです。典型的な例: 「支払われた保険金」などの結果を含む変数を、保険金請求額を予測するモデルに導入します。モデルはテスト データでは完璧に見えますが、予測時にはその情報が利用できないため、現実の世界では役に立ちません。漏洩は隠蔽されることが多く、慎重な保険数理上の推論によってのみ発見されます。AI は通常気付かず、時には漏洩変数を「非常に強力な予測子」と賞賛することさえあります。

2 番目の潜伏性の危険は、暗黙の偏見です。過去のデータが特定のグループを不当に表している場合 (たとえば、ある地域が歴史的にあまりにも多くの政策を拒否されてきた場合)、そのデータから得られた特徴にはそのバイアスが含まれており、モデルはそれを将来にわたって再現します。特徴エンジニアリング段階は、このバイアスを認識して修正できる最も重要な瞬間です。

注意: 変数が「予測力を大幅に向上させた」と喜ぶ前に、「この変数は予測時に実際に存在しているのか、それとも将来に関係しているのか?」と自問してください。見た目が良すぎる結果は、多くの場合、漏れの兆候です。

データ準備で AI を使用する方法

1) データ品質スクリーニング:

あなたの役割: データ品質アシスタント。保険数理利回りがあります。列:policy_id、start_date、end_date、age、region、vehicle_age、premium、claim_count、claim_amount。チェックリストと Python (pandas) コード スケッチを教えてください:- 列ごとに欠損値をカウントします。- 不当な値にフラグを立てます (負の保険料、年齢 <16 または >100、終了<開始)。- 開始/終了から部分露出 (年単位) を計算します。削除しないでください。私が決めるので報告だけしてください。

2) 特徴の導出:

トラフィック データから新しい特徴を導き出したいと考えています。利用可能: age、vehicle_age、region、annual_km、uses_type。- どの年齢グループと km グループ (ビニング) を推奨しますか?その理由は?- データ漏洩なく「地域」のリスクベースのコーディングを行うにはどうすればよいですか?- 試す価値のある 3 つの新機能を提案し、それぞれの保険数理上の根拠を記述してください。私が決めます。

3) 漏れ検査:

私のモデルは、年齢、地域、車両年齢、PAID_CLAIM_FLAG、SETTLEMENT_DAYS の変数を使用して損傷の可能性を予測します。データ漏洩のリスクを引き起こす変数は次のうちどれですか?それぞれについて、予測時に利用可能かどうかを評価します。疑わしいものとその理由を列挙します。

4) 露出の正規化:

私の保険の中には、年の半ばに始まるものもあります。頻度を正しく計算するためのエクスポージャーの正規化を説明し、コード化します: 頻度 = 合計請求数 / 合計エクスポージャー (保険年)。年の半ばに開始される保険のエクスポージャーを計算する方法を例を示して示します。

弱いプロンプト / 強いプロンプト

弱いプロンプト:

データをクリーンアップし、モデルで使用できるようにします。

AI は、どの列がどの列であるか、ビジネス ルール、エクスポージャの定義を知りません。やみくもにデータを削除したり、データを埋めたり、破損したりする可能性があります。

強力なプロンプト:

あなたの役割: 保険数理データ準備アシスタント。データ ディクショナリ:policy_id (ID)、start/end_date (保険期間)、年齢 (16 ~ 90 歳と予想)、保険料 (>0 である必要があります)、claim_count (>=0)、claim_amount (>=0)。タスク:1) 各列の合理性ルールと REPORT 違反 (削除) を作成します。2) 部分エクスポージャーを計算するコードを指定します。3) 欠落に対する 3 つの異なる戦略「年齢」(削除)。 / 平均 / 別のカテゴリ)プラスマイナスを伴います。判断は私にお任せください。4) 漏洩の危険性のあるカラムがある場合は警告します。記録があれば自動削除します。私はあらゆる決定を承認します。

ミニケース3個

ケース 1 — 露出エラー。あるポートフォリオでは、短期 (3 か月) の旅行保険が通年としてカウントされていたため、頻度は実際の 4 分の 1 に低く見えました。価格が間違って下落した。保険計理士がエクスポージャーを端数 (0.25 保険年度) として計算すると、実際の頻度が明らかになり、料金が修正されました。 AI が生成した部分露出コード。保険数理士はその定義を示した。

ケース 2 — 潜在的なリーク。ヘルパーが「ファイルの閉鎖時間」変数を損傷確率モデルに追加すると、精度が劇的に向上しました。喜びは長くは続きませんでした。この変数は被害が発生した後でしか知ることができませんでした。つまり、予測時には利用できませんでした。漏れのある変数が削除されると、モデルは現実的なレベルまで減少しました。彼は AI 変数を「強力な予測変数」として賞賛しました。保険計理士の判断が罠にはまった。

ケース 3 — バイアスの再現。ある企業は、過去のデータから「アプリケーションの拒否」パターンを導き出し、それを新しいモデルに組み込みました。分析の結果、過去の拒否は特定の地域に不釣り合いに集中しており、歴史的な偏りがあることがわかりました。この機能はモデルから削除され、より中立的なリスク指標に置き換えられました。 AI は、パターンの近傍との重なりを測定する分析を生成しました。倫理的決定は保険数理士とコンプライアンス部門によって行われました。

よくある間違い

  • 何も考えずに欠損値を平均値で埋めること。欠けていること自体が知識かもしれない。盲目的に記入すると偏見が生まれます。
  • 外れ値を自動的に削除します。いくつかは真のエッジケースです。データをエラーから分離せずに削除すると、情報が破壊されます。
  • 露出を正規化していません。短期保険契約を通年としてカウントすると、頻度が歪められ、価格が歪められます。
  • データ漏洩に気付かない。良すぎる結果は、多くの場合、将来に関わる変動の兆候です。予測時に各変数が存在するかどうかをクエリします。
  • 暗黙の偏見を未来に持ち込む。履歴データの不公平が派生機能に漏洩する可能性があります。特集段階で確認してください。

要約すると

保険数理モデリングの主な目的はデータの準備です。入力が破損している場合、出力も破損しています。一般的な問題は、欠損値、外れ値、不一致、重複などです。保険数理上の重要な問題は、エクスポージャーの正規化です。特徴エンジニアリング (グループ化、コーディング、正規化) は、データからより強力なシグナルを導き出します。最も潜行的な危険は、データ漏洩と暗黙のバイアスです。どちらも保険数理上の推論によってのみ捉えられます。 AI はこのステップを大幅にスピードアップします。スキャンによってコードと推奨事項が生成されます。ただし、記録を自動的に削除せず、人間が漏洩や偏りをチェックし、各変換を承認できるようにします。

アプリケーションタスク

小さな匿名ポリシー データ ディクショナリ (それぞれ 5 ~ 7 列、妥当な範囲) を準備します。 AI に、(a) 各列の合理性ルールと違反レポート コード、(b) 部分エクスポージャーの計算、(c) 試すべき 3 つの新機能の提案を求めます。次に、意図的な「リークトラップ」変数をリストに追加し(例:「支払われた報酬」)、AIがそれをリークとして検出するかどうかをテストします。

チェックリスト

  • [ ] 欠損値や外れ値を削除する前に、その理由を分析しましたか?
  • [ ] 露出を正しく分割して正規化しましたか?
  • [ ] 新たに導出された各特徴について保険数理上の根拠を記述しましたか?
  • [ ] 予測時に各変数が実際に存在する (漏れ) かどうか疑問に思ったことはありますか?
  • [ ] 派生特徴の暗黙的なバイアスをスキャンしましたか?
  • [ ] AI に記録を自動的に削除させたり、すべての決定を自分で承認させたりしませんでしたか?