{"metadata":{"kernelspec":{"language":"python","display_name":"Python 3","name":"python3"},"language_info":{"pygments_lexer":"ipython3","nbconvert_exporter":"python","version":"3.6.4","file_extension":".py","codemirror_mode":{"name":"ipython","version":3},"name":"python","mimetype":"text/x-python"}},"nbformat_minor":4,"nbformat":4,"cells":[{"cell_type":"markdown","source":"# 概略\nこの研究の最終的な目的は、睡眠の重要性に関する認識と指針を向上させることです。  \nこのコンペティションの目標は、睡眠の開始と目覚めを検出することです。  \nあなたは、手首に装着された加速度計データを訓練データとして使用して、人の睡眠状態を判断するモデルを開発します。","metadata":{}},{"cell_type":"markdown","source":"## 評価\n提出物は、検出されたイベントの平均精度を、タイムスタンプの誤差許容範囲で平均し、イベントクラスごとに平均します。\n\n検出結果は、誤差許容範囲内で正解のイベントと照合され、自信度が高い順に曖昧な部分が解決されます。  \n両方のイベントクラスに対して、誤差許容範囲のしきい値として、1、3、5、7.5、10、12.5、15、20、25、30分、または12、36、60、90、120、150、180、240、300、360のステップを使用します。\n\nこのメトリックのPythonコードは、こちらの「<a href=\"https://www.kaggle.com/code/metric/event-detection-ap/notebook\">Event Detection AP</a>」で見つけることができます。\n\n## 評価指標の詳細\n評価は次の3つのステップで進行します：\n\n1. アサインメント（Assignment）- 予測されたイベントを正解のイベントと照合します。\n2. スコアリング（Scoring）　　　- 各予測グループは、対応する正解のイベントグループに対して、  \n                           　　平均適合率（Average Precision）を使用してスコア付けされます。\n3. レダクション（Reduction）　 - 複数の平均適合率（AP）スコアを平均して、単一の総合スコアを生成します。\n\nアサインメント\n同じイベント x 許容範囲 x シリーズID グループ内の各予測と正解について、許容範囲内で許容された最も高信頼の一致しない予測に各正解を一致させます。\n\n一部の正解は予測と一致しない場合があり、一部の予測は正解と一致しない場合もあります。ただし、スコアリングではそれらも考慮されます。\n\nスコアリング\n各シリーズID内のイベントを収集し、各イベント x 許容範囲グループに対して平均適合率スコアを計算します。  \n平均適合率スコアは、予測に対して信頼スコアの閾値を下げて生成される適合率-再現率曲線の下の面積です。  \nこの計算では、閾値を超える一致した予測はTP（真陽性）、一致しない予測はFP（偽陽性）としてスコア付けされます  \n一致しない正解はFN（偽陰性）としてスコア付けされます。\n\nレダクション\n最終スコアは、上記のAPスコアをまず許容範囲に対して平均し、次にイベントに対して平均したものです。","metadata":{}},{"cell_type":"markdown","source":"## 提出形式\n提出ファイルは、各シリーズ（series_idで指定）ごとに、そのシリーズで発生する各イベントについて、  \nイベントのタイプ、発生したステップ、およびそのイベントの信頼スコアを提供して予測します。評価メトリックには、イベントの列挙を含むrow_idも必要です。\n\nファイルはヘッダーを含み、以下の形式である必要があります：\n\n```plaintext\nrow_id,series_id,　　 step, event,  score\n0,　　　038441c925bb, 100,　 onset,  0.0\n1,　　　038441c925bb, 105,　 wakeup, 0.0\n2,　　　03d92c9f6f8a, 80,　  onset,  0.5\n3,　　　03d92c9f6f8a, 110,　 wakeup, 0.5\n4,　　　0402a003dae9, 90,　  onset,  1.0\n5,　　　0402a003dae9, 120,　 wakeup, 1.0\n...\n```","metadata":{}},{"cell_type":"markdown","source":"# データセットの説明","metadata":{}},{"cell_type":"markdown","source":"データセットには、手首に装着された加速度計データの約500の複数日の記録が含まれており、2つのイベントタイプで注釈が付けられています：  \n　　→「睡眠の開始」を示す「onset」、および「睡眠の終了」を示す「wakeup」です。  \nあなたのタスクは、これら2つのイベントが加速度計シリーズで発生したかどうかを検出することです。\n\n加速度計データを扱う際、睡眠は加速度計を着用している間の最長の非活動期間と定義されます。  \nこのデータでは、いくつかの具体的な指示に従ってラーター（評価者）にガイドされました：\n\n1. 1つの睡眠期間は少なくとも30分の長さである必要があります。\n2. 1つの睡眠期間は、連続する30分を超えない活動の一連によって中断される可能性があります。\n3. ウォッチがその期間を着用されていると判断されない限り、睡眠ウィンドウは検出できません（以下で詳細に説明します）。\n4. 夜間の最長の睡眠ウィンドウのみが記録されます。\n5. 有効な睡眠ウィンドウが識別できない場合、その日の夜には「onset」イベントまたは「wakeup」イベントは記録されません。\n6. 睡眠イベントは日付境界をまたがなくてもかまいません。そのため、特定の期間内にいくつのイベントが発生するかを定義する厳格なルールはありません。  \n   ただし、1つの夜につき1つのウィンドウのみが割り当てられるべきです。  \n   例えば、同じカレンダー日に01時00分から06時00分までと19時00分から23時30分までの睡眠ウィンドウを持つことは有効です。\n7. 各シリーズには、そのシリーズ内の24時間の期間とほぼ同じ数の夜が記録されています。\n\n各シリーズは連続した記録であり、シリーズ内で加速度計デバイスが取り外された期間があるかもしれません。  \nこれらの期間は、加速度計信号に対する急激な変化が長期間にわたり非現実的であると見なされる場所で決定されます。  \nこれらの期間にはイベントが注釈付けされておらず、これらの期間中にイベントの予測を控えるよう努力する必要があります。  \nこれらの期間でのイベント予測は誤検出としてスコアリングされます。\n<br>\n各データシリーズは、ユニークな実験対象者のためのこの連続的な（マルチデイ/イベント）記録を表しています。\n<br>\nなお、これはコードコンペティションであり、実際のテストセットは非公開です。  \nこの公開バージョンでは、正しい形式のサンプルデータを提供し、ソリューションの作成をサポートしています。  \n完全なテストセットには約200のシリーズが含まれています。","metadata":{}},{"cell_type":"markdown","source":"ファイルとフィールドの説明:\n\n1. `train_series.parquet` - トレーニングデータとして使用されるシリーズ。各シリーズは、多くの日にわたる1人の被験者の加速度計データの連続記録です。\n   - `series_id` - 各加速度計シリーズのユニークな識別子。\n   - `step` - シリーズ内の各観測に対する整数のタイムステップ。\n   - `timestamp` - ISO 8601形式の日時（%Y-%m-%dT%H:%M:%S%z）に対応する日時。\n   - `anglez` - GGIRパッケージによって計算および説明されるように、z角度は個別の加速度計コンポーネントから導出される\n                一般的に睡眠検出に使用される指標であり、腕の角度を体の垂直軸に対する角度を指します。\n   - `enmo` - GGIRパッケージによって計算および説明されるように、ENMOはすべての加速度信号のユークリッドノルムマイナスワンであり、\n              負の値はゼロに丸められます。この空間における標準的な加速度の測定値は存在しませんが、これは一般的に計算されるいくつかの特徴量の一つです。\n\n2. `test_series.parquet` - テストデータとして使用されるシリーズ。  \n                           上記と同じフィールドを含み、このファイル内のシリーズに対してイベントの発生を予測します。\n\n3. `train_events.csv` - トレーニングセット内のシリーズに対する睡眠ログ。睡眠の開始と終了イベントを記録します。\n   - `series_id` - `train_series.parquet`内の各加速度計データシリーズのユニークな識別子。\n   - `night` - 潜在的な睡眠の開始/終了イベントのペアの列挙。各夜につき最大1つのイベントペアが発生できます。\n   - `event` - イベントのタイプ（開始または終了）。\n   - `step` および `timestamp` - 加速度計データシリーズ内でのイベントの発生時刻。\n\n4. `sample_submission.csv` - 正しいフォーマットで提出するためのサンプル提出ファイル。詳細については評価ページを参照してください。","metadata":{}},{"cell_type":"markdown","source":"## データ理解\nトレーニングデータのすべてを可視化：https://www.kaggle.com/code/carlmcbrideellis/zzzs-plots-of-all-277-anglez-and-enmo-series  \nテストデータのparquetを可視化：https://www.kaggle.com/paypayojisan/zzzs-plots-of-test-anglez-and-enmo-series/edit  \nトレーニングデータは277人、テストデータは3人分のデータ\n","metadata":{}},{"cell_type":"code","source":"","metadata":{},"execution_count":null,"outputs":[]}]}