(57)【特許請求の範囲】
【請求項１】
過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定手段と、
対象とする月経周期で測定された体温について、前記決定手段により決定された前記短期日数の移動平均が、前記決定手段により決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定手段と、
前記特定手段により特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定手段と、
を備えることを特徴とする情報処理装置。
【請求項２】
請求項１に記載の情報処理装置において、
前記推定手段は、前記過去の１以上の月経周期において、前記短期日数の移動平均が前記長期日数の移動平均よりも高くなるタイミングから、前記短期日数の移動平均が前記長期日数の移動平均よりも低くなるタイミングまでの日数の代表値を、前記特定手段により特定された前記タイミングに加算して、前記次の生理日を予測することを特徴とする情報処理装置。
【請求項３】
請求項１又は２に記載の情報処理装置において、
前記決定手段は、前記過去の１以上の月経周期で測定された体温の短期の移動平均が該体温の長期の移動平均よりも低くなるタイミングと生理日との時間差が小さくなり、且つ、前記過去の１以上の月経周期における短期の移動平均と長期の移動平均との差の積分値大きくなるなるように、前記短期日数と前記長期日数とを決定することを特徴とする情報処理装置。
【請求項４】
請求項１乃至３の何れか１項に記載の情報処理装置において、
前記短期日数の移動平均が前記長期日数の移動平均よりも高くなるタイミングが前記特定手段により特定されなかった場合、前記過去の１以上の月経周期の日数に基づいて、次の生理日を予測する予測手段を更に備えることを特徴とする情報処理装置。
【請求項５】
コンピュータにより実行される情報処理方法であって、
過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定ステップと、
対象とする月経周期で測定された体温について、前記決定ステップにより決定された前記短期日数の移動平均が、前記決定ステップにより決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定ステップと、
前記特定ステップにより特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定ステップと、
を含むことを特徴とする情報処理方法。
【請求項６】
コンピュータを、
過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定手段、
対象とする月経周期で測定された体温について、前記決定手段により決定された前記短期日数の移動平均が、前記決定手段により決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定手段、及び、
前記特定手段により特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定手段、
として機能させることを特徴とする情報処理プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、測定された体温に基づいて、排卵日を推定し又は生理日を予測する技術分野に関する。
【背景技術】
【０００２】
一般的に、月経周期は低温期と高温期とからなり、低温期の日数と比較して、高温期の日数は変動が少ないとされている。そこで、このような性質を利用した技術が従来から知られている。例えば、特許文献１には、体温が基準体温以上となった日が３日連続した場合、その日から２日遡った日を高温相の開始とすること、高温相開始日の１日前を排卵日として検出すること、及び排卵日に平均高温相期間を加算することにより次回の生理日を予測することが開示されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−４５１５５号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
実際に低温期から高温期に移行するタイミングの前後では、体温が上下に大きく変動することがある。従って、体温が高体温となったタイミングを高温期の開始と判定すると、実際にはまだ低温期であった場合に推定が誤ることとなる。その一方で、特許文献１に開示されているように、体温が高体温となった日数が所定日数連続した場合に高温期が開始したと判定すると、既に高温期に移行しているにも関わらず、生理日の推定や生理日の予測ができない。【０００５】
本発明は、以上の点に鑑みてなされたものであり、実際に低温期から高温期に移行するタイミングの前後で体温が上下に変動する場合であっても、精度の低下を抑制した排卵日の推定及び生理日の予測の少なくとも何れか一方を可能とする情報処理装置及び情報処理方法等を提供することを目的とする。
【課題を解決するための手段】
【０００６】
上記課題を解決するために、請求項１に記載の発明は、過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定手段と、対象とする月経周期で測定された体温について、前記決定手段により決定された前記短期日数の移動平均が、前記決定手段により決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定手段と、前記特定手段により特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定手段と、を備えることを特徴とする。【０００７】
この発明によれば、情報処理装置は、低温期が開始されると考えられる生理日に、体温の短期の移動平均が長期の移動平均よりも低くなるタイミングが重なるように、短期の日数と長期の日数を決定する。そして、情報処理装置は、決定された日数を用いて現在の月経周期の体温について計算される短期の移動平均と長期の移動平均に基づき、短期の移動平均が長期の移動平均よりも高くなるタイミングを特定する。移動平均により、体温の時系列が平滑化されるので、このタイミングを特定することにより、実際に低温期から高温期に移行するタイミングの前後で体温が上下に変動する場合であっても、そのタイミングを適切に特定することができる。また、高温期から低温期に移行するタイミングで生理日となる。そのため、短期の日数と長期の日数とを適切に決定することができる。従って、精度の低下を抑制した排卵日の推定及び生理日の予測の少なくとも何れか一方が可能となる。【０００８】
請求項２に記載の発明は、請求項１に記載の情報処理装置において、前記推定手段は、前記過去の１以上の月経周期において、前記短期日数の移動平均が前記長期日数の移動平均よりも高くなるタイミングから、前記短期日数の移動平均が前記長期日数の移動平均よりも低くなるタイミングまでの日数の代表値を、前記特定手段により特定された前記タイミングに加算して、前記次の生理日を予測することを特徴とする。【０００９】
この発明によれば、情報処理装置は、対象者の高温期の日数に対応する、短期の移動平均が長期の移動平均よりも高くなるタイミングから、短期の移動平均が長期の移動平均よりも低くなるタイミングまでの日数を特定する。従って、対象者の高温期の日数の傾向に応じてより適切に、排卵日の推定及び生理日の予測の少なくとも何れか一方を行うことができる。【００１０】
請求項３に記載の発明は、請求項１又は２に記載の情報処理装置において、前記決定手段は、前記過去の１以上の月経周期で測定された体温の短期の移動平均が該体温の長期の移動平均よりも低くなるタイミングと生理日との時間差が小さくなり、且つ、前記過去の１以上の月経周期における短期の移動平均と長期の移動平均との差の積分値大きくなるなるように、前記短期日数と前記長期日数とを決定することを特徴とする。【００１１】
体温の短期の移動平均と長期の移動平均との差の積分が大きいほど、短期の移動平均が長期の移動平均よりも高くなるタイミングを適切に特定することができる。この発明によれば、この積分と、体温の短期の移動平均が長期の移動平均よりも低くなるタイミングと生理日との時間差とに基づいて、より適切な短期の日数と長期の日数を決定することができる。【００１２】
請求項４に記載の発明は、請求項１乃至３の何れか１項に記載の情報処理装置において、前記短期日数の移動平均が前記長期日数の移動平均よりも高くなるタイミングが前記特定手段により特定されなかった場合、前記過去の１以上の月経周期の日数に基づいて、次の生理日を予測する予測手段を更に備えることを特徴とする。【００１３】
この発明によれば、まだ低温期から高温期に移行していない場合であっても、生理日を予測することができる。【００１４】
請求項５に記載の発明は、コンピュータにより実行される情報処理方法であって、過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定ステップと、対象とする月経周期で測定された体温について、前記決定ステップにより決定された前記短期日数の移動平均が、前記決定ステップにより決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定ステップと、前記特定ステップにより特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定ステップと、を含むことを特徴とする。【００１５】
請求項６に記載の発明は、コンピュータを、過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、前記短期日数と前記長期日数とを決定する決定手段、対象とする月経周期で測定された体温について、前記決定手段により決定された前記短期日数の移動平均が、前記決定手段により決定された前記長期日数の移動平均よりも高くなるタイミングを特定する特定手段、及び、前記特定手段により特定されたタイミングに基づいて、前記対象とする月経周期の次の生理日を予測し、又は前記対象とする月経周期中の排卵日の到来を推定する推定手段、として機能させることを特徴とする。
【発明の効果】
【００１６】
本発明によれば、情報処理装置は、低温期が開始されると考えられる生理日に、体温の短期の移動平均が長期の移動平均よりも低くなるタイミングが重なるように、短期の日数と長期の日数を決定する。そして、情報処理装置は、決定された日数を用いて現在の月経周期の体温について計算される短期の移動平均と長期の移動平均に基づき、短期の移動平均が長期の移動平均よりも高くなるタイミングを特定する。移動平均により、体温の時系列が平滑化されるので、このタイミングを特定することにより、実際に低温期から高温期に移行するタイミングの前後で体温が上下に変動する場合であっても、そのタイミングを適切に特定することができる。また、高温期から低温期に移行するタイミングで生理日となる。そのため、短期の日数と長期の日数とを適切に決定することができる。従って、精度の低下を抑制した排卵日の推定及び生理日の予測の少なくとも何れか一方が可能となる。
【図面の簡単な説明】
【００１７】
【図１】一実施形態に係る情報処理システムＳの概要構成の一例を示す図である。
【図２Ａ】一実施形態に係る情報処理サーバ１の概要構成の一例を示すブロック図である。
【図２Ｂ】一実施形態に係るシステム制御部１４の機能ブロックの一例を示す図である。
【図３】情報処理サーバ１の記憶部１２ｂに構築されたデータベースに登録される内容の一例を示す図である。
【図４Ａ】パラメータの候補の一例を示す図である。
【図４Ｂ】生成された複数の候補組み合わせのうち３個の候補組み合わせの例を示す図である。
【図４Ｃ】周期セットの取得例を示す図である。
【図５Ａ】修正参照周期取得部１４３により取得された参照周期の頻度分布の一例を示すとともに、その頻度分布と閾値ＯＦとの位置関係の一例を示すグラフである。
【図５Ｂ】異常値が除去された複数の参照周期の例を示す図である。
【図５Ｃ】異常値が除去された後の参照周期の頻度分布の一例を示すグラフである。
【図６Ａ】異常値が除去された参照周期の頻度分布の一例を示すとともに、その頻度分布と閾値ＷＮとの位置関係の一例を示すグラフである。
【図６Ｂ】ウインソリゼーションが施された複数の参照周期の例を示す図である。
【図６Ｃ】ウインソリゼーションの後の参照周期の頻度分布の一例を示すグラフである。
【図７Ａ】ウインソリゼーションの後の参照周期の頻度分布の一例を示すとともに、その頻度分布と代表値との位置関係の一例を示すグラフである。
【図７Ｂ】代表値が決定される様子と、代表値と基準周期の日数との差が計算される様子の一例を示す図である。
【図８Ａ】代表値と基準周期の差の合計の計算例を示す図である。
【図８Ｂ】第１候補が決定されたユーザの人数及び第２候補が決定されたユーザの人数の例を示すグラフである。
【図９】現在の月経周期における体温の実測値のグラフと、体温の短期の移動平均線と長期の移動平均線との例を示す図である。
【図１０】過去の３月経周期における体温のグラフと、体温の短期の移動平均線と長期の移動平均線との例を示す図である。
【図１１】過去の３月経周期における体温の短期の移動平均線と長期の移動平均線との関係の例を示す図である。
【図１２Ａ】予測生理日が計算される様子の一例を示す図である。
【図１２Ｂ】次の生理日の予測に用いられる手法の決定例を示す図である。
【図１３】一実施形態に係る情報処理サーバ１のシステム制御部１４の生理日予測処理の一例を示すフローチャートである。
【図１４】一実施形態に係る情報処理サーバ１のシステム制御部１４のパラメータ決定処理の一例を示すフローチャートである。
【図１５】一実施形態に係る情報処理サーバ１のシステム制御部１４の周期ベースパラメータ決定処理の一例を示すフローチャートである。
【図１６】一実施形態に係る情報処理サーバ１のシステム制御部１４の日数差計算処理の一例を示すフローチャートである。
【図１７】一実施形態に係る情報処理サーバ１のシステム制御部１４の人数取得処理の一例を示すフローチャートである。
【図１８】一実施形態に係る情報処理サーバ１のシステム制御部１４の周期ベース予測処理の一例を示すフローチャートである。
【図１９】一実施形態に係る情報処理サーバ１のシステム制御部１４の体温ベースパラメータ決定処理の一例を示すフローチャートである。
【発明を実施するための形態】
【００１８】
以下、図面を参照して本発明の実施形態について詳細に説明する。なお、以下に説明する実施の形態は、情報処理システムに対して本発明を適用した場合の実施形態である。
【００１９】
［１．情報処理システムの構成及び機能概要］
先ず、本実施形態に係る情報処理システムＳの構成及び機能概要について、図１を用いて説明する。図１は、本実施形態に係る情報処理システムＳの概要構成の一例を示す図である。
【００２０】
図１に示すように、情報処理システムＳは、情報処理サーバ１と、複数のユーザ端末２と、複数の体温計３と、を含んで構成されている。情報処理サーバ１と、各ユーザ端末２とは、ネットワークＮＷを介して、例えば、通信プロトコルにＴＣＰ／ＩＰ等を用いて相互にデータの送受信が可能になっている。なお、ネットワークＮＷは、例えば、インターネット、専用通信回線（例えば、ＣＡＴＶ（Community Antenna Television）回線）、移動体通信網（基地局等を含む）、及びゲートウェイ等により構築されている。
【００２１】
情報処理サーバ１は、女性の健康に関する情報をユーザ端末２へ配信するサーバ装置である。また、情報処理サーバ１は、ユーザ端末２から、ユーザの基礎体温、生理日等の情報を取得する。そして、情報処理サーバ１は、取得した情報に基づいて、ユーザの排卵日を推定し、又は次回の生理日を予測する。
【００２２】
ユーザ端末２は、情報処理システムＳを利用するユーザの端末装置である。ユーザ端末２は、例えば、スマートフォン、タブレット型コンピュータ、ＰＤＡ（Personal Digital Assistant）、携帯電話機、パーソナルコンピュータ等であってもよい。ユーザ端末２は、体温計３により測定された基礎体温を情報処理サーバ１へ送信する。また、ユーザ端末２は、ユーザから入力された実際の生理日を情報処理サーバ１へ送信する。そして、ユーザ端末２は、情報処理サーバ１により推定された排卵日、生理日等の情報を表示する。
【００２３】
体温計３は、ユーザの基礎体温を測定する電子体温計である。体温計３は、例えば近距離無線通信により、測定した体温をユーザ端末２へ送信する。なお、体温計で測定された体温をユーザがユーザ端末２に手入力してもよい。
【００２４】
ユーザは、体温計３を用いて、例えば日々（１日に１回）体温を測定する。実際に測定された体温を、実測値という。また、ユーザが実際の生理日を入力すると、月経周期が確定する。月経周期は、例えば前回の生理日から次の生理日の前日までの期間である。生理日が連続する場合、情報処理サーバ１は、連続した生理日のうちの初日を、月経周期の確定に用いる生理日に決定する。情報処理サーバ１は、周期ベース予測手法と、体温ベース予測手法とをそれぞれ用いて、次回の生理日を予測する。周期ベース予測手法は、過去の複数の月経周期の日数を用いた手法である。体温ベース予測手法は、体温の実測値を用いた手法である。体温ベース予測手法を用いる場合、情報処理サーバ１は、次の生理日を予測するとともに、現月経周期における排卵日を推定してもよい。現月経周期は、過去の生理日のうち最後の生理日から開始し、且つ次の生理日の前日で終了する月経周期である。すなわち、現月経周期は、現在進行中の月経周期である。
【００２５】
［２．情報処理サーバの構成］
次に、情報処理サーバ１の構成について、図２Ａ乃至図３を用いて説明する。
【００２６】
図２Ａは、本実施形態に係る情報処理サーバ１の概要構成の一例を示すブロック図である。図２Ａに示すように、情報処理サーバ１は、通信部１１と、記憶部１２と、入出力インターフェース１３と、システム制御部１４と、を備えている。そして、システム制御部１４と入出力インターフェース１３とは、システムバス１５を介して接続されている。
【００２７】
通信部１１は、ネットワークＮＷに接続してユーザ端末２等との通信状態を制御するようになっている。
【００２８】
記憶部１２は、例えば、ハードディスクドライブ等により構成されている。記憶部１２は、記憶手段の一例である。この記憶部１２には、会員情報ＤＢ１２ａ、体温ＤＢ１２ｂ、生理日ＤＢ１２ｃ、パラメータＤＢ１２ｄ等のデータベースが構築されている。「ＤＢ」は、データベースの略語である。図３は、情報処理サーバ１の記憶部１２ｂに構築されたデータベースに登録される内容の一例を示す図である。
【００２９】
会員情報ＤＢ１２ａには、情報処理システムＳを利用するユーザに関するユーザ情報がユーザごとに登録される。具体的に、会員情報ＤＢ１２ａには、ユーザ情報として、ユーザＩＤ、パスワード、ニックネーム、氏名、生年月日、性別、郵便番号、住所、電話番号、電子メールアドレス等のユーザの属性が対応付けて登録される。ユーザＩＤは、ユーザの識別情報である。
【００３０】
体温ＤＢ１２ｂには、実測値に関する情報が登録される。具体的に、体温ＤＢ１２ｂには、ユーザＩＤ、測定日及び実測値が対応付けて登録される。ユーザＩＤは、体温を測定したユーザを示す。測定日は、体温が測定された日を示す。例えば、システム制御部１４は、ユーザ端末２から、ユーザ端末２を利用するユーザＩＤ、測定日及び実測値を受信する。そして、システム制御部１４は、受信した情報を体温ＤＢ１２ｂに登録する。
【００３１】
生理日ＤＢ１２ｃには、生理日に関する情報が登録される。具体的に、生理日ＤＢ１２ｃには、ユーザＩＤ及び生理日が対応付けて登録される。ユーザＩＤは、生理日を入力したユーザを示す。例えば、システム制御部１４は、ユーザ端末２から、ユーザ端末２を利用するユーザＩＤ、ユーザが入力した生理日を受信する。そして、システム制御部１４は、受信した情報を生理日ＤＢ１２ｃに登録する。
【００３２】
パラメータＤＢ１２ｄには、生理日の予測に用いられるパラメータを含むパラメータ情報が登録される。システム制御部１４は、一人のユーザについて、基本的に新しい月経周期が始まるごとに、パラメータ情報をパラメータＤＢ１２ｄに登録する。具体的に、パラメータＤＢ１２ｄには、パラメータ情報として、ユーザＩＤ、登録日、周期ベース予測手法のパラメータ、周期ベース予測手法の予測生理日、体温ベースパラメータ、推定高温期日数が対応付けて登録される。ユーザＩＤは、パラメータを用いて生理日が予測されるユーザを示す。登録日は、パラメータ情報がパラメータＤＢ１２ｄに登録された日付を示す。周期ベース予測手法のパラメータは、例えば異常値除去の閾値、ウインソリゼーション（ウインソライジング）の閾値及び代表値種別を含む。異常値除去とは複数の月経周期の中から外れ値として閾値を超える又は閾値よりも外側に位置するデータを除去することである。この外れ値を、異常値という。異常値は、本発明における第１外れ値の一例である。異常値除去の閾値は、異常値として除去される月経周期の閾値を示す。具体的に、異常値除去の閾値には、例えば百分率が格納されてもよい。異常値除去の閾値は、本発明における第１閾値の一例である。ウインソリゼーションは、統計データの分布の中で、外れ値として閾値を超える又は閾値よりも外側に位置するデータの値をその閾値に変更することである。この外れ値は、本発明における第２外れ値の一例である。本実施形態のウインソリゼーションの閾値は、複数の月経周期の中から日数が変更される月経周期の閾値を示すとともに、変更後の日数を示す。具体的に、ウインソリゼーションの閾値には、例えば百分率が格納されてもよい。ウインソリゼーションの閾値は、本発明における第２閾値の一例である。代表値種別は、複数の月経周期の代表値の取得方法を示す。具体的に、代表値種別は、平均値を取得するか又は中央値を取得するかを示す。周期ベース予測手法の予測生理日は、周期ベース予測手法で予測された生理日である。体温ベース予測手法のパラメータは、例えば短期日数及び長期日数を含む。短期日数は、体温の短期の移動平均を計算する場合に用いられる日数である。長期日数は、体温の長期の移動平均を計算する場合に用いられる日数である。長期日数は短期日数よりも長い。推定高温期日数は、体温ベース予測手法により推定された高温期の日数である。一般的に、月経周期は低温期と高温期に分けられる。低温期は、月経周期内で比較的体温が低い期間であり、高温期は、月経周期内で比較的体温が高い期間である。月経周期の開始とともに低温期が開始し、その後高温期に移行する。
【００３３】
次に、記憶部１２に記憶されるその他の情報について説明する。記憶部１２には、ウェブページを表示するためのＨＴＭＬ文書、ＸＭＬ（Extensible Markup Language）文書、画像データ、テキストデータ、電子文書等の各種データが記憶されている。また、記憶部１２には、各種の設定値、閾値、定数等が記憶されている。
【００３４】
また、記憶部１２には、オペレーティングシステム、ＷＷＷ（World Wide Web）サーバプログラム、ＤＢＭＳ（Database Management System）、予測処理プログラム等の各種プログラムが記憶されている。予測処理プログラムは、排卵日を推定し及び生理日を予測するためのプログラムである。予測処理プログラムは、本発明における情報処理プログラムの一例である。なお、各種プログラムは、例えば、他のサーバ装置等からネットワークＮＷを介して取得されるようにしてもよいし、磁気テープ、光ディスク、メモリカード等の記録媒体に記録されてドライブ装置を介して読み込まれるようにしてもよい。また、予測処理プログラムは、プログラム製品であってもよい。
【００３５】
また、記憶部１２には、端末用アプリケーションプログラムが記憶されている。端末用アプリケーションプログラムは、ユーザ端末２により実行されるプログラムである。端末用アプリケーションプログラムは、実測値や生理日等の情報を情報処理サーバ１へ送信したり、推定排卵日及び予測生理日等の情報を表示したりするためのプログラムである。ユーザ端末２は、例えば情報処理サーバ１から端末用アプリケーションプログラムをダウンロードする。
【００３６】
入出力インターフェース１３は、通信部１１及び記憶部１２とシステム制御部１４との間のインターフェース処理を行うようになっている。
【００３７】
システム制御部１４は、ＣＰＵ１４ａ、ＲＯＭ（Read Only Memory）１４ｂ、ＲＡＭ（Random Access Memory）１４ｃ等により構成されている。ＣＰＵ１４は、プロセッサの一例である。なお、本発明は、ＣＰＵと異なる様々なプロセッサに対しても適用可能である。記憶部１２、ＲＯＭ１４ｂ及びＲＡＭ１４ｃは、それぞれメモリの一例である。なお、本発明は、ハードディスク、ＲＯＭ及びＲＡＭと異なる様々なメモリに対しても適用可能である。
【００３８】
なお、情報処理サーバ１が、複数のサーバ装置で構成されてもよい。例えば、ユーザ端末２からの情報を取得するサーバ装置、排卵日の推定及び生理日の予測を行うサーバ装置、ユーザ端末２へ情報を提供するサーバ装置、及びデータベースを管理するサーバ装置等が、互いにＬＡＮ等で接続されてもよい。この場合、排卵日の推定及び生理日の予測を行うサーバ装置が、本発明における情報処理装置の一例であってもよい。また、本発明における情報処理装置は、１つのサーバ装置に実装されてもよいし、複数のサーバ装置の連携した処理によって実装されてもよい。
【００３９】
［３．システム制御部の機能概要］
次に、図２Ｂ、図４Ａ乃至図１２Ｂを用いて、システム制御部１４の機能概要について説明する。図２Ｂは、本実施形態に係るシステム制御部１４の機能ブロックの一例を示す図である。システム制御部１４は、所定の条件に基づいて、周期ベース予測手法及び体温ベース予測手法の何れか用いるかを決定する。そして、システム制御部１４は、決定した手法を用いて次回の生理日を予測する。そのため、システム制御部１４は、ＣＰＵ１４ａが、予測処理プログラム等のプログラムを読み出し実行することにより、図２Ｂに示すように、パラメータ候補取得部１４１、周期セット取得部１４２、修正参照周期取得部１４３、代表値取得部１４４、パラメータ決定部１４５、周期ベース予測部１４６、期間日数決定部１４７、タイミング特定部１４８、体温ベース予測部１４９等として機能する。周期ベース予測部１４６は、本発明における予測手段の一例である。期間日数決定部１４７は本発明における決定手段の一例である。タイミング特定部１４８は、本発明における特定手段の一例である。体温ベース予測部１４９は、本発明における推定手段の一例である。
【００４０】
［３−１．周期ベース予測手法］
周期ベース予測手法を用いる場合、システム制御部１４は、過去の複数の月経周期を取得する。次いで、システム制御部１４は、過去の複数の月経周期のうち閾値により特定される外れ値に所定の処理を施して、収載された複数の月経周期を取得する。所定の処理は、例えば、閾値により特定される外れ値を除去することであってもよいし、閾値により特定される外れ値にウインソリゼーションを施すことであってもよい。或いは、システム制御部１４は、所定の処理は、異常値除去とウインソリゼーションの両方を行うことであってもよい。この場合、システム制御部１４は、先に異常値除去を行い、その後でウインソリゼーションを行ってもよい。複数の月経周期から異常値が除去された後であっても、参照周期の日数のばらつきが大きい場合がある。ばらつきが大きいままであると、予測の精度が低下する可能性がある。しかしながら、異常値が除去された状態で、更に外れ値を特定して、この外れ値を単に除去してしまっても。予測の精度が低下する可能性がある。そこで、ウインソリゼーションにより、外れ値を、月経周期の分布の外側に位置するという情報を残すように変更することで、予測精度の低下を抑制することができる。複数の月経周期が修正されると、システム制御部１４は、修正された複数の月経周期の代表値を計算する。そして、システム制御部１４は、月経周期の代表値に基づいて、次回の生理日を予測する。
【００４１】
［３−１−１．パラメータの決定］
システム制御部１４は、周期ベース予測手法を用いて生理日を予測するために、周期ベース予測手法で用いられるパラメータを、ユーザごとに決定する。決定されるパラメータは、異常値除去の閾値、ウインソリゼーションの閾値及び代表値種別を決定のうち少なくとも何れか１つである。なお、異常値除去の閾値、ウインソリゼーションの閾値及び代表値種別の少なくとも１つは、例えば情報処理システムＳ全体で予め定められていてもよい。また、例えば複数の月経周期の修正に異常値除去のみが用いられる場合、ウインソリゼーションの閾値は不要である。また、例えば複数の月経周期の修正にウインソリゼーションのみが用いられる場合、異常値除去の閾値は不要である。
【００４２】
システム制御部１４は、過去の複数の月経周期と、パラメータの候補とを用いて、周期ベース予測手法により月経周期を予測する。そして、システム制御部１４は、予測した月経周期と別の過去の月経周期とを比較して、パラメータの候補のうち何れかの候補を、実際の予測に用いるパラメータに決定する。決定されたパラメータをシステム制御部１４が用いることで、過去の複数の月経周期の日数にばらつきがあったとしても、次回の生理日を精度よく予測することができる。
【００４３】
パラメータ候補取得部１４１は、外れ値の閾値の複数の候補を取得する。具体的に、パラメータ候補取得部１４１は、異常値除去の閾値の複数の候補と、ウインソリゼーションの閾値の複数の候補との少なくとも何れか一方を取得する。例えば、記憶部１２に異常値除去の閾値の複数の候補を格納するテーブルが記憶されてもよい。また例えば、ウインソリゼーションの閾値の複数の候補を格納するテーブルがそれぞれ記憶されてもよい。パラメータ候補取得部１４１は、記憶部１２に記憶されたテーブルから閾値の複数の候補を取得してもよい。それぞれの閾値の候補の数は２以上である。異常値除去の閾値の候補の数とウインソリゼーションの閾値の数は同一であってもよいし、同一ではなくてもよい。また、代表値種別が情報処理システムＳ全体で予め定められていない場合、パラメータ候補取得部１４１は、代表値種別の候補として、「平均値」と「中央値」とを取得してもよい。例えば、月経周期の分布に中心的傾向があり又は対称性がある場合、平均値を用いた方が予測精度が向上するかもしれない。一方、月経周期の分布に中心的傾向がないか又は対称性がない場合、中央値を用いた方が予測精度が向上するかもしれない。図４Ａは、パラメータの候補の一例を示す図である。図４Ａの例では、異常値除去の閾値の候補の数は３であり、ウインソリゼーションの閾値の候補の数は３である。また、代表値種別の候補として「平均値」と「中央値」とがある。
【００４４】
異常値除去の閾値、ウインソリゼーションの閾値及び代表値種別のうち２以上のパラメータが決定される場合、パラメータ候補取得部１４１は、２以上のパラメータの候補の組み合わせを複数生成する。この組み合わせを、候補組み合わせという。例えば３個のパラメータが決定される場合、パラメータ候補取得部１４１は、異常値除去の閾値の複数の候補のうちの何れかと、ウインソリゼーションの閾値の複数の候補のうちの何れかと、代表値種別の複数の候補のうちの何れかとにより構成される候補組み合わせを複数生成する。図４Ｂは、生成された複数の候補組み合わせのうち３個の候補組み合わせの例を示す図である。図４Ａの例では、１８個の候補組み合わせを生成することが可能である。
【００４５】
周期セット取得部１４２は、生理日の予測の対象者の過去の複数の月経周期の中から、１つの基準周期と参照周期とで構成される周期セットを取得する。複数の参照周期は、月経周期の仮予測に用いられる月経周期である。基準周期は、仮予測された月経周期と比較される月経周期である。基準周期は複数の参照周期の何れかであってもよいし、基準周期は複数の参照周期とは異なる月経周期であってもよい。また、複数の参照周期は連続していても連続していなくてもよい。また、基準周期と複数の参照周期とは連続していても連続していなくもよい。また、基準周期の時期的位置は複数の参照周期より前であってもよいし後であってもよい。また、基準周期は複数の参照周期の間に挟まれてもよい。
【００４６】
周期セット取得部１４２は、１つの周期セットのみを取得してもよいし、複数の周期セットを取得してもよい。周期セットの数は情報処理システムＳの管理者により予め設定されてもよいし、周期セット取得部１４２が決定してもよい。複数の周期セットを取得する場合、周期セット取得部１４２は、例えば基準周期の時期的位置、複数の参照周期の一部又は全部、及び参照周期の数の少なくとも何れかが互いに異なる複数の周期セットを取得してもよい。図４Ｃは、周期セットの取得例を示す図である。図４Ｃにおいて、過去の月経周期Ｃ１〜Ｃ９の上に表示されている番号は、月経周期の時期的位置を示す。符号Ｃｎのｎとして、時期的位置を示す番号が付されている。例えば、１番目の月経周期Ｃ１は、過去の月経周期のうち最新の月経周期であり、２番目の月経周期Ｃ２は２番目に新しい月経周期である。図４Ｃの例では、各周期セットの参照周期の数は６である。また、６個の参照周期は連続している。また、基準周期は、６個の参照周期に連続し且つこれらの参照周期よりも新しい。図４Ｃの例では、３個の周期セットが取得されている。例えば、第１周期セットは、基準周期Ｃ１と参照周期Ｃ２〜Ｃ７とで構成される。第２周期セットは、基準周期Ｃ２と参照周期Ｃ３〜Ｃ８とで構成される。第３周期セットは、基準周期Ｃ３と参照周期Ｃ４〜Ｃ９とで構成される。
【００４７】
修正参照周期取得部１４３は、パラメータ候補取得部１４１により取得された閾値の候補ごとに、周期セット取得部１４２により取得された複数の参照周期を、閾値の候補を用いて修正する。そして、周期セット取得部１４２は、修正された複数の参照周期を取得する。パラメータ候補取得部１４１により、異常値除去の閾値とウインソリゼーションの閾値とを少なくとも含む候補組み合わせが取得された場合、修正参照周期取得部１４３は、候補組み合わせごとに複数の参照周期を修正して、修正された複数の参照周期を取得する。
【００４８】
例えば、パラメータ候補取得部１４１が、閾値の候補として少なくとも異常値除去の閾値の候補ＯＦを取得したとする。この場合、周期セット取得部１４２は、日数ごとの参照周期の出現確率を計算する。そして、周期セット取得部１４２は、複数の参照周期の中から、出現確率がＯＦ％未満である日数の参照周期を、異常値として除去する。そして、周期セット取得部１４２は、異常値が除去された複数の参照周期を、修正された参照周期として取得する。
【００４９】
例えば、パラメータ候補取得部１４１が、閾値の候補として少なくともウインソリゼーションの閾値の候補ＷＮを取得したとする。この場合、周期セット取得部１４２は、日数の短い順に並べられた複数の参照周期の中から、ＷＮパーセンタイル未満の日数の参照周期の日数を、ＷＮパーセンタイルに変更する。更に、周期セット取得部１４２は、複数の参照周期の中から、（１００−ＷＮ）パーセンタイルよりも長い日数の参照周期の日数を、（１００−ＷＮ）パーセンタイルに変更する。ここで、修正前の複数の参照周期の中に、閾値ＷＮが示す位置と完全に一致する位置の参照周期が存在しないかもしれない。例えば、参照周期の数が６である場合、１６．７％の位置にある参照周期、及び３３．３％の位置にある参照周期は存在する。しかしながら、閾値ＷＮが２０％である場合、２０％の位置にある参照周期は存在しない。この場合、修正参照周期取得部１４３は、例えば閾値ＷＮが示す位置から前後それぞれ直近の位置にある参照周期の日数とその位置とに基づいて、補間によりＷＮパーセンタイルを計算してもよい。或いは、修正参照周期取得部１４３は、例えば、ＷＮパーセンタイル未満の日数の参照周期の日数を、閾値ＷＮが示す位置よりも内側にある参照周期のうち直近の参照周期の日数に変更してもよい。「内側」とは、ＷＮパーセンタイルから（１００−ＷＮ）パーセンタイルまでの範囲を示す。また、閾値（１００−ＷＮ）が示す位置と完全に一致する位置の参照周期が存在しない場合も、ＷＮパーセンタイルと同様であってもよい。
【００５０】
例えば、パラメータ候補取得部１４１が、閾値の候補として、異常値除去の閾値の候補ＯＦ及びウインソリゼーションの閾値の候補ＷＮの両方を含む候補組み合わせを取得した場合、修正参照周期取得部１４３は、例えば先ず閾値除去を行い、次いでウインソリゼーションを行ってもよい。図５Ａ乃至図６Ｃは、閾値除去及びウインソリゼーションが行われる過程の例を示す。例えば、周期セット取得部１４２により図４Ｃに示す第１周期セットが取得されたとする。基準周期Ｃ１の日数は３０である。参照周期Ｃ２〜Ｃ７の日数は、それぞれ３５、２４、３４、２９、２９、２９である。図５Ａは、修正参照周期取得部１４３により取得された参照周期の頻度分布の一例を示すとともに、その頻度分布と閾値ＯＦとの位置関係の一例を示すグラフである。なお、図５Ａは、説明のために参照周期の頻度分布の一例を示すものであり、参照周期Ｃ２〜Ｃ７の実際の頻度分布とは必ずしも一致しない。図５Ｂは、異常値が除去された複数の参照周期の例を示す図である。例えば、３５日の参照周期の出現確率がＯＦパーセント未満であり、２４日、２９日及び３４日の参照周期のそれぞれの参照周期の出現確率がＯＦパーセント以上であるとする。この場合、修正参照周期取得部１４３は、参照周期Ｃ２〜Ｃ７の中から、日数が３５日である参照周期Ｃ２を異常値として除去する。これにより、修正参照周期取得部１４３は、図５Ｂに示すように、修正された参照周期Ｃ３〜Ｃ７を取得する。図５Ｃは、異常値が除去された後の参照周期の頻度分布の一例を示すグラフである。図５Ｃでは、出現確率がＯＦパーセント未満の参照周期が除去されたことが示されている。
【００５１】
図６Ａは、異常値が除去された参照周期の頻度分布の一例を示すとともに、その頻度分布と閾値ＷＮとの位置関係の一例を示すグラフである。修正参照周期取得部１４３は、異常値除去におけるＯＦパーセンタイルを、ウインソリゼーションにおける０パーセンタイルに決定する。また、修正参照周期取得部１４３は、異常値除去における（１００−ＯＦ）パーセンタイルを、ウインソリゼーションにおける１００パーセンタイルに決定する。そして、修正参照周期取得部１４３は、決定された範囲内で、ＷＮパーセンタイル及び（１００−ＷＮ）パーセンタイルを決定する。図６Ｂは、ウインソリゼーションが施された複数の参照周期の例を示す図である。例えば、ＷＮパーセンタイルが２５日であり、（１００−ＷＮ）パーセンタイルが３２日であるとする。この場合、修正参照周期取得部１４３は、図６Ｂに示すように、参照周期Ｃ３の２４日を２５日に変更し、参照周期Ｃ４の３４日を３２日に変更する。図６Ｃは、ウインソリゼーションの後の参照周期の頻度分布の一例を示すグラフである。図６Ｃでは、ＷＮパーセンタイル未満の日数の参照周期がＷＮパーセンタイルに変更され、（１００−ＷＮ）パーセンタイルよりも長い日数の参照周期が（１００−ＷＮ）パーセンタイルに変更されている。
【００５２】
代表値取得部１４４は、パラメータ候補取得部１４１により取得された閾値の候補ごとに、修正参照周期取得部１４３により取得された、修正された複数の参照周期の代表値を計算する。パラメータ候補取得部１４１により、異常値除去の閾値とウインソリゼーションの閾値とを少なくとも含む候補組み合わせが取得された場合、修正参照周期取得部１４３は、候補組み合わせごとに、修正された複数の参照周期の代表値を計算する。予測に用いられる代表値種別が予め定められている場合、代表値取得部１４４は、修正された複数の参照周期の平均値又は中央値のうち予め定められている方のみを取得する。一方、代表値種別が予め定められていない場合、代表値取得部１４４は、修正された複数の参照周期の平均値及び中央値の両方を取得する。具体的に、代表値取得部１４４は、取得された候補組み合わせに含まれる代表値種別が「平均値」である場合、平均値を計算し、代表値種別が「中央値」である場合、中央値を決定する。図７Ａは、ウインソリゼーションの後の参照周期の頻度分布の一例を示すとともに、その頻度分布と代表値との位置関係の一例を示すグラフである。図７Ｂは、代表値が決定される様子と、代表値と基準周期の日数との差が計算される様子の一例を示す図である。例えば、代表値種別が「平均値」である場合、代表値取得部１４４は、図６Ｃに示す参照周期に対して、図７Ｂに示すように平均値２８．８を計算する。一方、代表値種別が「中央値」である場合、代表値取得部１４４は、中央値２９を決定する。取得された代表値は、月経周期の仮の予測値に相当する。
【００５３】
パラメータ決定部１４５は、パラメータ候補取得部１４１により取得された閾値の候補ごとに、又は候補組み合わせごとに、代表値取得部１４４により取得された代表値と基準周期の日数とを比較する。そして、パラメータ決定部１４５は、この比較の結果に基づいて、予測に用いるパラメータ又は組み合わせを決定する。例えば、パラメータ決定部１４５は、代表値と基準周期との差を計算してもよい。例えば、パラメータ決定部１４５は、図７Ｂに示すように、基準周期Ｃ１の日数３０と平均値２８．８との差１．２を計算する。パラメータ決定部１４５は、計算された差が最も小さいパラメータ又は組み合わせを、予測に用いるパラメータ又は組み合わせに決定してもよい。代表値と基準周期の日数との差は、月経周期の仮の予測値と実際の月経周期との差である。従って、この差が小さいほど、月経周期の予測精度が高いと考えられる。
【００５４】
周期セット取得部１４２により複数の周期セットが取得された場合、修正参照周期取得部１４３、代表値取得部１４４及びパラメータ決定部１４５は、パラメータ候補取得部１４１により取得された閾値の候補ごとに又は候補組み合わせごとに、複数の周期セットのそれぞれに対して処理を実行する。すなわち、修正参照周期取得部１４３は、閾値の候補ごとに又は候補組み合わせごとに、複数の周期セットのそれぞれの複数の参照周期を修正して、修正された複数の参照周期をそれぞれ取得する。また、代表値取得部１４４は、閾値の候補ごとに又は候補組み合わせごとに、複数の周期セットのそれぞれにおいて修正された複数の参照周期の代表値を取得する。また、パラメータ決定部１４５は、閾値の候補ごとに又は候補組み合わせごとに、複数の周期セットのそれぞれに対して取得された代表値と複数の周期セットのそれぞれの基準周期の日数とを比較する。
【００５５】
パラメータ決定部１４５は、例えばパラメータの候補ごとに又は候補組み合わせごとに、複数の周期セットのそれぞれに対して計算された差の合計を計算してもよい。そして、パラメータ決定部１４５は、差の合計が最も小さいパラメータの候補又は候補組み合わせを、予測に用いるパラメータ又は組み合わせに決定してもよい。以降においては、単に「候補」という場合、パラメータの候補又は候補組み合わせを示すものとする。なお、パラメータ決定部１４５は、合計の代わりに、例えば平均値や中央値等を計算してもよい。
【００５６】
パラメータ決定部１４５は、複数の周期セットのそれぞれの代表値と基準周期の差を用いてパラメータを決定するとき、周期セットに含まれる基準周期の時期的位置に基づいて、代表値と基準周期の差に重み付けしてもよいし重み付けしなくてもよい。例えば、パラメータ決定部１４５は、基準周期の時期的位置が古いほど重みを小さくしてもよい。パラメータ決定部１４５は、現月経周期の日数を予測するためのパラメータを決定する。時期的位置が古い基準周期ほど、現月経周期から時期的に遠い。そのため、基準周期の時期的位置が古いほど、基準周期と現月経周期との類似性が低い可能性がある。そこで、基準周期の時期的位置が古いほど重みを小さくすることにより決定されたパラメータが用いられることで、月経周期の日数の予測精度を高めることができる。
【００５７】
図８Ａは、代表値と基準周期の差の合計の計算例を示す図である。例えば、図４Ａに示す候補組み合わせが取得され、図４Ｃに示す第１周期セット〜第３周期セットが取得されたとする。この場合、パラメータ決定部１４５は、候補組み合わせごとに、代表値と基準周期との差の加重合計を計算する。このとき、パラメータ決定部１４５は、例えば第１周期セットの代表値と基準周期との差に重み係数１を掛け、第２周期セットの代表値と基準周期との差に重み係数０．８を掛け、第３周期セットの代表値と基準周期との差に重み係数０．５を掛けてもよい。なお、基準周期の時期的位置が古いほど重み係数が小さくなるという条件を満たす限り、各周期セットの重み係数は自由に設定されてもよい。
【００５８】
ところで、代表値と基準周期との差が最も小さい候補の当該差と同程度の差が、他の１又は複数の候補について計算される場合があるかもしれない。すなわち、仮の予測の精度が同程度に高い候補が複数存在するかもしれない。ここで、代表値と基準周期との差が最も小さい候補を、第１候補という。第１候補について取得された差から所定範囲内にある差が取得された候補を、第２候補という。パラメータ決定部１４５は、この場合であっても、第１候補を、予測に用いるパラメータ又は組み合わせに決定してもよい。或いは、パラメータ決定部１４５は、所定の条件に基づいて、第１候補と第２候補との中から。予測に用いるパラメータ又は組み合わせを決定してもよい。第１候補について取得された差から所定範囲内にある差が取得された候補が複数存在するかもしれない。その場合、パラメータ決定部１４５は、これらの候補のうち所定数以下の候補のみを第２候補として特定してもよいし、全ての候補を第２候補として特定してもよい。
【００５９】
パラメータ決定部１４５は、例えば今回の生理日の予測の対象者と異なるユーザのうち、予測に用いるパラメータ又は組み合わせとして第１候補が決定されたユーザの人数と、予測に用いるパラメータ又は組み合わせとして第２候補が決定されたユーザの人数とを取得してもよい。パラメータ決定部１４５は、パラメータＤＢ１２ｄに登録されているパラメータ情報に基づいて、このようなユーザの人数を取得することができる。パラメータ決定部１４５は、第１候補と１又は複数の第２候補とのうち、例えば取得された人数が最も多い候補を、予測に用いるパラメータ又は組み合わせを決定してもよい。その理由は、多くのユーザに対して用いられているパラメータほど、様々なユーザに適した予測を行うことが可能なパラメータである蓋然性があるからである。
【００６０】
図８Ｂは、第１候補が決定されたユーザの人数及び第２候補が決定されたユーザの人数の例を示すグラフである。候補組み合わせＣＣ２が第１候補として特定され、候補組み合わせＣＣ８が第２候補として特定されたとする。ここで図８Ｂに示すように、候補組み合わせＣＣ８が決定されたユーザの人数が、候補組み合わせＣＣ２が決定されたユーザの人数よりも多い。従って、パラメータ決定部１４５は、候補組み合わせＣＣ８を、予測に用いられるパラメータの組み合わせに決定してもよい。
【００６１】
なお、一人のユーザについて複数のパラメータ情報が複数登録される場合がある。この場合、パラメータ決定部１４５は、例えば登録日が最新であるパラメータ情報を用いて、人数をカウントしてもよい。或いは、パラメータ決定部１４５は、例えば複数のパラメータ情報に基づいて、第１候補及び第２候補が予測に用いるパラメータ又は組み合わせとして決定された頻度をそれぞれ計算してもよい。そして、パラメータ決定部１４５は、例えば第１候補及び第２候補のうち頻度が最も高い候補が、予測に用いるパラメータ又は組み合わせが決定されたと判定してもよい。
【００６２】
また、パラメータ決定部１４５は、第１候補が決定されたユーザのうち対象者が有する特徴との同一性がある特徴を有するユーザの人数を取得してもよい。また、パラメータ決定部１４５は、第２候補が決定されたユーザのうち対象者が有する特徴との同一性がある特徴を有するユーザの人数を取得してもよい。そして、パラメータ決定部１４５は、取得された人数に基づいて、予測に用いるパラメータ又は組み合わせ決定してもよい。その理由は、対象者が有する特徴と同一の特徴を有するユーザの月経又は月経周期の傾向は、対象者の月経又は月経周期の傾向と類似している蓋然性があるからである。特徴の例として、年齢、年代、予測に用いるパラメータ又は組み合わせが決定された季節又は月、体温の推移の傾向、低温期の日数、高温期の日数等が挙げられる。パラメータ決定部１４５は、例えば会員情報ＤＢ１２ａに基づいて年齢又は年代を取得することができる。また、パラメータ決定部１４５は、例えばパラメータＤＢ１２ｄに登録されたパラメータ情報に基づいて、予測に用いるパラメータ又は組み合わせが決定された季節又は月を取得することができる。また、パラメータ決定部１４５は、体温ＤＢ１２ｂ及び生理日ＤＢ１２ｃに基づいて、体温の推移の傾向、低温期の日数及び高温期の日数を取得することができる。対象者の特徴との同一性がある特徴とは、例えば対象者の特徴と同一の特徴であってもよいし、対象者の特徴から所定範囲以内の特徴であってもよいし、対象者の特徴と類似する特徴であってもよい。
【００６３】
［３−１−２．生理日の予測］
周期ベース予測部１４６は、パラメータ決定部１４５により決定されたパラメータ又は組み合わせを用いて、対象者の現月経周期の日数を予測する。具体的に、周期ベース予測部１４６は、生理日の予測の対象者の過去の複数の月経周期を取得する。次いで、周期ベース予測部１４６は、取得された複数の月経周期のうちパラメータとして決定された閾値により特定される外れ値に所定の処理を施すことにより、修正された複数の月経周期を取得する。より詳細に、周期ベース予測部１４６は、複数の月経周期から異常値を除去し、又は複数の月経周期に対してウインソリゼーションを施す。或いは、周期ベース予測部１４６は、異常値の除去を行った後に、更にウインソリゼーションを行う。パラメータ決定部１４５により異常値除去の閾値が決定された場合、周期ベース予測部１４６は、この閾値を用いて異常値を除去する。パラメータ決定部１４５によりウインソリゼーションの閾値が決定された場合、周期ベース予測部１４６は、この閾値を用いてウインソリゼーションを行う。周期ベース予測部１４６は、修正された複数の月経周期の代表値を、現月経周期の日数の予測値として取得する。パラメータ決定部１４５により代表値種別として「平均値」が決定された場合、周期ベース予測部１４６は平均値を計算し、代表値種別として「中央値」が決定された場合、周期ベース予測部１４６は中央値を決定する。次いで、周期ベース予測部１４６は、現月経周期の初日に、取得した代表値を加算して、予測生理日を計算する。
【００６４】
ところで、過去の月経周期の頻度分布が２個の極大値を有する場合があるかもしれない。この場合、周期ベース予測部１４６は、例えば頻度分布全体に対して１つの代表値のみを決定してもよい。或いは、周期ベース予測部１４６は、例えば月経周期の分布を、頻度が極小値となる周期の位置で分割してもよい。周期ベース予測部１４６は、例えば分割された分布ごとに代表値を取得してもよい。そして、周期ベース予測部１４６は、代表値ごとに、現月経周期の初日に代表値を加算して、予測生理日を計算してもよい。すなわち、周期ベース予測部１４６は、次の生理日を２個予測してもよい。この場合、周期ベース予測部１４６は、ユーザ端末２に、例えば「周期が短い場合の次回生理予定日はＸ日、周期が長い場合の次回生理予定日はＹ日」と表示させてもよい。Ｘは、２個の予測生理日のうち今日から近い方の予測生理日であり、Ｙは、今日から遠い方の予測生理日である。なお、極大値が３個以上ある場合、周期ベース予測部１４６は、例えば月経周期の分布を分割せずに、次の生理日を１つのみ予測してもよい。
【００６５】
なお、周期ベース予測手法で用いられるパラメータの全てが予め定められていてもよい。例えば、パラメータが記憶部１２に記憶されていてもよい。この場合、閾値候補取得部１４１、周期セット取得部１４２、修正参照周期取得部１４３、代表値取得部１４４及びパラメータ決定部１４５は不要である。
【００６６】
［３−２．体温ベース予測手法］
体温ベース予測手法を用いる場合、システム制御部１４は、生理日が予測される対象者の体温の実測値の短期の移動平均と長期の移動平均とを、例えば日ごとに計算する。そして、システム制御部１４は、現月経周期において、短期の移動平均が長期の移動平均よりも大きくなるタイミングを特定する。短期の移動平均が長期の移動平均よりも大きくなるタイミングとは、例えば短期の移動平均線と長期の移動平均線が交差するタイミングのうち、移動平均線が交差するタイミングの直後の短期の移動平均が長期の移動平均よりも高いタイミングである。このように移動平均線が交差することを、Ｐクロスオーバー（ポジティブクロスオーバー）という。短期の移動平均が長期の移動平均よりも大きくなるとは、Ｐクロスオーバーが起こることである。図９は、現在の月経周期における体温の実測値のグラフと、体温の短期の移動平均線と長期の移動平均線との例を示す図である。図９に示すように、1月１日から現在の月経周期が始まった後、１月１２日でＰクロスオーバーが発生している。システム制御部１４は、特定されたタイミングに基づいて、次の生理日を予測し又は排卵日の到来を推定する。或いは、システム制御部１４は、次の生理日の予測と排卵日の到来の推定の両方を行ってもよい。
【００６７】
上述したように、月経周期は、一般的に低温期と高温期とから成る。月経周期の中で排卵日には、卵胞から卵子が排出される。すると、卵胞から黄体が形成される。この黄体から黄体ホルモンが分泌される。この黄体ホルモンにより体温が上昇し、低温期から高温期に移行する。黄体が萎縮すると、黄体ホルモンの分泌が終わる。すると、子宮内膜を維持することができなくなり、月経となる。また、黄体ホルモンの分泌が終わると体温が低下する。従って、次の月経周期の低温期に移行する。黄体ホルモンの寿命は相当に安定している。例えば、黄体ホルモンの寿命は一般的に１４日±２日である。
【００６８】
低温期から高温期に移行する日又はその日の近隣の日が排卵日である蓋然性が高い。しかしながら、実際の日々の体温は安定して推移しない場合がある。例えば、低温期から高温期に移行するはずのタイミングの前後で体温が上下に大きく変動することがあるかもしれない。従って、日々の体温の実測値のみを見ても、高温期に移行したか否かの判断が難しい。
【００６９】
これに対して、本実施形態の体温ベース予測手法では、移動平均が用いられるので、体温の時系列が平滑化される。また、短期の移動平均は直近の短期間における体温の傾向を示し、長期の移動平均は長期間における体温の傾向を示す。従って、短期の移動平均が長期の移動平均よりも大きくなるタイミングにより、低温期から高温期に移行するタイミングを適切に特定することが可能である。従って、排卵日の到来を精度よく推定することができる。図９の例では、１月１２日又はその周辺の日に排卵日が到来している蓋然性が高い。
【００７０】
同一の対象者であっても、月経周期によって低温期の日数は比較的変動しやすい。その一方で、高温期の日数は比較的安定している。その理由は、高温期の日数は黄体の寿命に対応するからである。従って、排卵日が到来した日を推定することができれば、次の月経周期の予測が可能である。
【００７１】
計算される移動平均は如何なる種類の移動平均であってもよい。例えば、単純移動平均、加重移動平均又は指数移動平均等が計算されてもよい。指数移動平均の計算式としては、公知のあらゆる式が利用可能である。例えば期間の日数がｐであるとする。日数ｐは、実際には短期日数又は長期日数である。この場合、指数移動平均の計算が開始された日からｔ日後の日の指数移動平均ＥＭＡp（ｔ）は、例えば下記の式１により計算されてもよい。
【数１】
0005775242.tif 000002
【００７２】
ｅ（ｔ）は、ｔ日後の日の体温の実測値である。ｄは減衰係数である。ｄは、例えば下記の式２により計算されてもよい。
【数２】
0005775242.tif 000003
【００７３】
［３−２−１．パラメータの決定］
期間日数決定部１４７は、体温ベース予測手法を用いた排卵日の到来の推定又は生理日の予測を行うために、体温ベース予測手法で用いられるパラメータを決定する。決定されるパラメータは、移動平均の計算に用いられる短期日数と長期日数である。
【００７４】
例えば、単純移動平均又は加重移動平均の場合、短期日数及び長期日数は、平均値を計算するための基となる体温の実測値の数を示す。短期日数をｓとし、長期日数をｌとする。短期の移動平均は、直近のｓ日間の体温の実測値の平均値である。長期の移動平均は、直近のｌ日間の体温の実測値の平均値である。指数移動平均の場合、短期日数及び長期日数は、平均を計算するためのパラメータの１つである。指数移動平均が計算されるごとに、計算に用いられた体温の実測値の重みは指数関数的に減少していく。従って、短期日数及び長期日数は、例えば体温の実測値の重みが所定値以下になるまでに要する日数であってもよい。式１及び式２の場合、短期日数及び長期日数は、体温の実測値の重みが２分の１以下になるまでに要する日数である。
【００７５】
例えば、期間日数決定部１４７は、対象者の過去の１以上の月経周期の体温の実測値を用いて、体温ベース予測手法で用いられるパラメータを決定してもよい。過去の１以上の月経周期は、例えば現月経周期と連続する月経周期であってもよい。また、過去の２以上の月経周期の体温の実測値が用いられる場合、例えばこれらの月経周期は連続する月経周期であってもよい。期間日数決定部１４７は、例えばパラメータとして用いられる短期日数及び長期日数のそれぞれの候補を用いて、過去の１以上の月経周期における短期の移動平均と長期の移動平均とを計算してもよい。図１０は、過去の３月経周期における体温のグラフと、体温の短期の移動平均線と長期の移動平均線との例を示す図である。
【００７６】
期間日数決定部１４７は、過去の１以上の月経周期における体温の短期の移動平均が長期の移動平均よりも小さくなるタイミングが、過去の１以上の月経周期の初日である生理日と重なるように、パラメータとして用いられる短期日数と長期日数とを決定する。短期の移動平均が長期の移動平均よりも小さくなるタイミングとは、例えば短期の移動平均線と長期の移動平均線が交差するタイミングのうち、移動平均線が交差するタイミングの直後の短期の移動平均が長期の移動平均よりも低いタイミングである。このように移動平均線が交差することを、Ｎクロスオーバー（ネガティブクロスオーバー）という。短期の移動平均が長期の移動平均よりも小さくなることは、Ｎクロスオーバーが起こることである。図１１は、過去の３月経周期における体温の短期の移動平均線と長期の移動平均線との関係の例を示す図である。図１１の例では、３回の生理日のそれぞれにＮクロスオーバーのタイミングがおおよそ重なっている。
【００７７】
上述したように、高温期から次の月経周期の低温期に移行する日が実際の生理日である蓋然性が高い。従って、Ｎクロスオーバーのタイミングが実際の生理日と重なるように期間日数決定部１４７が短期日数及び長期日数を決定することで、移動平均を用いた排卵日の到来の推定精度又は生理日の予測精度を高めることができる。
【００７８】
具体的に、期間日数決定部１４７は、例えば生理日とＮクロスオーバーのタイミングとの差を示す関数ｅｒｒが最小となるように、短期日数と長期日数を決定してもよい。関数ｅｒｒの媒介変数は短期日数ｓと長期日数ｌである。便宜上、行列（ｓ，ｌ）の転置行列をｘとし、ｅｒｒの媒介変数を行列ｘとする。この場合、ｅｒｒは、例えば下記の式３により表されてもよい。
【数３】
0005775242.tif 000004
【００７９】
ｍｅｎｄａｙ（ｉ）は、過去のｎ個の月経周期のうちｉ番目の月経周期の初日、すなわち生理日である。ｎｃｏｄａｙ（ｘ，ｉ）は、ｘで計算された短期の移動平均と長期の移動平均に基づいて特定されたＮクロスオーバーが起きた日のうち、ｍｅｎｄａｙ（ｉ）に最も近い日である。期間日数決定部１４７は、例えばｅｒｒ（ｘ）が最小となるｘを求める凸最適化問題を解いてもよい。この問題は、例えば下記の式４により示されてもよい。
【数４】
0005775242.tif 000005
【００８０】
Ｘ及びＹはそれぞれ任意の自然数の集合である。この最適化問題を解くことが可能なアルゴリズムであれば、期間日数決定部１４７は如何なるアルゴリズムを用いてもよい。例えば、期間日数決定部１４７は、シンプレックス法等を用いてもよい。或いは、長期日数の上限が予め定められている場合、期間日数決定部１４７は、例えば短期日数と長期日数の全ての組み合わせについてｅｒｒを計算し、最も小さいｅｒｒが計算された短期日数と長期日数との組み合わせを、排卵日の到来の推定又は次の生理日の予測に用いる短期日数と長期日数に決定してもよい。
【００８１】
期間日数決定部１４７は、過去の１以上の月経周期における体温の短期の移動平均が長期の移動平均よりも小さくなるタイミングと生理日との差が小さくなるように短期日数及び長期日数を決定するとともに、例えば過去の１以上の月経周期における短期の移動平均と長期の移動平均との差の積分値が大きくなるように、短期日数及び長期日数を決定してもよい。すなわち、例えば図１０において、短期の移動平均線と長期の移動平均線とで囲まれた領域の面積が極力大きくなるように、期間日数決定部１４７は短期日数及び長期日数を決定してもよい。その理由は、Ｎクロスオーバーを明確に特定するためである。全体的に短期の移動平均と長期の移動平均との差が小さい場合、Ｎクロスオーバーを特定しにくかったり、１月経周期内にＮクロスオーバーが複数発生したりする場合があるからである。短期の移動平均と長期の移動平均との差の定積分ａｒｅａ（ｘ）は、下記の式５で表される。
【数５】
0005775242.tif 000006
【００８２】
ＴＥは、過去の１以上の月経周期の最初の月経周期の初日から最後の月経周期の最終日までに経過した日数である。ＥＭＡｓは、期間の日数をｓとする短期の移動平均であり、ＥＭＡｌは、期間の日数をｌとする長期の移動平均である。
【００８３】
これまでの２つの条件を表すため、例えば、短期の移動平均が長期の移動平均よりも小さくなるタイミングと生理日との差が大きくなるほど小さくなり、且つ短期の移動平均と長期の移動平均との差の定積分が大きくなるほど大きくなる関数ｆ（ｘ）が用いられてもよい。例えば、ｆ（ｘ）は下記の式６で表されてもよい。
【数６】
0005775242.tif 000007
【００８４】
α及びβはそれぞれ定数である。なお、式６は、関数ｆ（ｘ）の式の一例である。式６と異なる式で関数ｆ（ｘ）が計算されてもよい。
【００８５】
期間日数決定部１４７は、例えばｆが最大となるように、短期日数と長期日数を決定してもよい。例えば、期間日数決定部１４７は、ｆが最大となるｘを求める凸最適化問題を解いてもよい。この問題は、例えば下記の式７により示されてもよい。
【数７】
0005775242.tif 000008
【００８６】
この最適化問題を解くことが可能なアルゴリズムであれば、期間日数決定部１４７は如何なるアルゴリズムを用いてもよい。例えば、期間日数決定部１４７は、シンプレックス法等を用いてもよい。或いは、長期日数の上限が予め定められている場合、期間日数決定部１４７は、例えば短期日数と長期日数の全ての組み合わせについてｆを計算し、最も大きいｆが計算された短期日数と長期日数との組み合わせを、排卵日の到来の推定又は次の生理日の予測に用いる短期日数と長期日数に決定してもよい。
【００８７】
なお、短期の移動平均が長期の移動平均よりも小さくなるタイミングと生理日との差が大きくなるほど大きくなり、且つ短期の移動平均と長期の移動平均との差の定積分が大きくなるほど小さくなる関数ｇ（ｘ）が最小となるように、期間日数決定部１４７は、短期日数及び長期日数を決定してもよい。関数ｆ（ｘ）の符号を反転することにより、−ｆ（ｘ）が最小となる短期日数及び長期日数を求める最適化問題に変わるので、関数ｆ（ｘ）の最適化問題と関数ｇ（ｘ）の最適化問題は実質的に同じである。
【００８８】
［３−２−２．排卵日の推定、生理日の予測］
タイミング特定部１４８は、期間日数決定部１４７により決定された短期日数と長期日数を用いて、現月経周期における短期の移動平均と長期の移動平均を計算する。指数移動平均を計算する場合、タイミング特定部１４８は、例えば過去の１以上の月経周期内の何れかの日から指数移動平均の計算を開始してもよい。タイミング特定部１４８は、現月経周期において、短期の移動平均が長期の移動平均よりも大きくなるタイミング、すなわちＰクロスオーバーが起きた日を特定する。
【００８９】
体温ベース予測部１４９は、タイミング特定部１４８により特定されたタイミングに基づいて、排卵日の到来を推定し、又は次の生理日を予測する。
【００９０】
排卵日の到来を推定する場合、体温ベース予測部１４９は、例えばＰクロスオーバーが起きた日を排卵日と推定してもよい。或いは、体温ベース予測部１４９は、例えばＰクロスオーバーが起きた日から所定日後又は所定日前の日を、排卵日と推定してもよい。或いは、排卵日検査によって対象者の過去の月経周期における排卵日が判明している場合、体温ベース予測部１４９は、例えば判明した排卵日と過去の月経周期においてＰクロスオーバーが起きた日との差を計算してもよい。そして、体温ベース予測部１４９は、現月経周期でＰクロスオーバーが起きた日に、計算した差を加算することにより、推定排卵日を計算してもよい。
【００９１】
次の生理日を予測する場合、体温ベース予測部１４９は、例えばＰクロスオーバーが起きた日に所定日数を加算することにより予測生理日を計算してもよいし、推定排卵日に所定日数を加算することにより予測生理日を計算してもよい。加算される日数は、例えば１４日±２日の範囲内で予め定められてもよい。或いは、体温ベース予測部１４９は、例えば過去の１以上の月経周期の短期の移動平均及び長期の移動平均に基づいて、過去の１以上の月経周期におけるＰクロスオーバーが起きた日からＮクロスオーバーが起きた日までの日数の代表値を計算してもよい。体温ベース予測部１４９は、例えば平均値を計算してもよいし、中央値を計算してもよい。そして、体温ベース予測部１４９は、例えば現月経周期でＰクロスオーバーが起きた日に、計算された代表値を加算することにより、予測生理日を計算してもよい。図１２Ａは、予測生理日が計算される様子の一例を示す図である。例えば、図１１の例の場合、３月経周期においてＰクロスオーバーが起きた日からＮクロスオーバーが起きた日までの日数は、それぞれ１１、１３及び１５である。従って平均値は１３である。図１２Ａに示すように、現月経周期においてＰクロスオーバーが起きた日は１月１４日である。従って、体温ベース予測部１４９は、次の生理日を１月２７日と予測する。
【００９２】
なお、排卵日の推定の対象の月経周期は現月経周期であってもよいし、過去の月経周期であってもよい。例えば、タイミング特定部１４８は、期間日数決定部１４７により決定された短期日数と長期日数を用いて、過去の或る月経周期における短期の移動平均と長期の移動平均を計算し、その月経周期において、短期の移動平均が長期の移動平均よりも大きくなるタイミングを特定してもよい。そして、体温ベース予測部１４９は、特定されたタイミングに基づいて、その月経周期における排卵日を推定してもよい。また、体温ベース予測手法で用いられる短期日数及び長期日数は予め定められていてもよい。例えば、短期日数及び長期日数が予め記憶部１２に記憶されていてもよい。この場合、期間日数決定部１４７は不要である。
【００９３】
［３−３．予測手法の切り替え］
周期ベース予測手法によれば、過去の３以上の月経周期のそれぞれの日数が特定されていれば、現在が低温期であるか高温期であるかに関わらず、次の生理日を予測することができる。一方、体温ベース予測手法によれば、体温の短期の移動平均が長期の移動平均よりも大きくなったタイミング、すなわちＰクロスオーバーが起きたタイミングに基づいて、次の生理日を精度よく予測することができる。しかしながら、現月経周期においてＰクロスオーバーがまだ起きていない場合、すなわち現在が低温期である蓋然性が高い場合、体温ベース予測手法を用いることができない。
【００９４】
そこで、現月経周期において体温の短期の移動平均が長期の移動平均よりも大きくなったタイミングがタイミング特定部１４８により特定されていない場合、周期ベース予測部１４６が次の生理日を予測してもよい。一方、短期の移動平均が長期の移動平均よりも大きくなったことタイミングがタイミング特定部１４８により特定された場合、体温ベース予測部１４９が次の生理日を予測してもよい。
【００９５】
図１２Ｂは、次の生理日の予測に用いられる手法の決定例を示す図である。図１２Ｂに示すように、１月１３日から１６日までは、短期の移動平均が長期の移動平均よりも低い。従って、この期間は、周期ベース予測部１４６が周期ベース予測手法を用いて次の生理日を予測する。１月１７日にはＰクロスオーバーが起きている。従って、１月１７日以降は、体温ベース予測部１４９が体温ベース予測手法を用いて次の生理日を予測する。
【００９６】
なお、例えば如何なる状況であっても、常に周期ベース予測部１４６が次の生理日を予測してもよい。この場合、体温ベース予測部１４９は不要である。また例えば、現月経周期においてＰクロスオーバーが起こったタイミングがまだ特定されていない場合、システム制御部１４は、第３−１節で説明された周期ベース予測手法とは異なる手法を用いて次の生理日を予測してもよい。例えば、過去の１以上の周期の日数の代表値を現月経周期の初日の生理日に加算することにより次の生理日を予測する手法であれば、システム制御部１４は如何なる手法を用いてもよい。この場合、例えば過去の１以上の周期のうち少なくとも１つの周期の日数が修正又は変更されてもよい。そして、Ｐクロスオーバーが起こったタイミングが特定された後は、体温ベース予測部１４９が次の生理日を予測してもよい。或いは、例えば現月経周期においてＰクロスオーバーが起こったタイミングがまだ特定されていない場合、システム制御部１４は、次の生理日を予測しなくてもよい。そして、Ｐクロスオーバーが起こったタイミングが特定された後は、体温ベース予測部１４９が次の生理日を予測してもよい。この場合、周期ベース予測部１４６は不要である。
【００９７】
［４．情報処理システムの動作］
次に、情報処理システムＳの動作について、図１３乃至図１９を用いて説明する。
【００９８】
図１３は、本実施形態に係る情報処理サーバ１のシステム制御部１４の生理日予測処理の一例を示すフローチャートである。例えば、ユーザの操作に基づいて、ユーザ端末２は、端末用アプリケーションプログラムを起動する。そして、ユーザは体温計３を用いて本日の体温を計測する。すると、ユーザ端末２は、計測された体温を実測値として体温計３から受信する。そして、ユーザ端末２は、体温の実測値を、ユーザ端末２を利用するユーザのユーザＩＤとともに情報処理サーバ１へ送信する。ユーザ端末２から体温の実測値及びユーザＩＤを受信したとき、システム制御部１４は、生理日予測処理を実行する。この場合、ユーザＩＤが示すユーザは、次の生理日が予測される対象者である。
【００９９】
図１３に示すように、体温ベース予測部１４９は、受信された実測値を記録する（ステップＳ１）。具体的に、体温ベース予測部１４９は、今日の日付を測定日として取得する。そして、体温ベース予測部１４９は、受信された実測値及びユーザＩＤと、測定日とを対応付けて体温ＤＢ１２ｂに登録する。
【０１００】
次いで、周期ベース予測部１４６は、対象者のユーザＩＤが示すユーザについて記録された過去の月経周期の数が、記憶部１２に予め記憶された閾値ＫＮよりも大きいか否かを判定する（ステップＳ２）。例えば、周期ベース予測部１４６は、対象者のユーザＩＤに対応する生理日を生理日ＤＢ１２ｃから検索する。周期ベース予測部１４６は、この検索により見つかった生理日の数から１を減算して、過去の月経周期の数を計算する。閾値ＫＮは、例えば２以上の数のうちの何れかを示してもよい。周期ベース予測部１４６は、過去の月経周期の数が閾値ＫＮよりも大きいと判定した場合には（ステップＳ２：ＹＥＳ）、ステップＳ３に進む。一方、周期ベース予測部１４６は、過去の月経周期の数が閾値ＫＮよりも大きくはないと判定した場合には（ステップＳ２：ＮＯ）、生理日予測処理を終了させる。
【０１０１】
ステップＳ３において、体温ベース予測部１４９は、各日の体温の実測値が記録された過去の月経周期の数が閾値ＫＮよりも大きいか否かを判定する。例えば、体温ベース予測部１４９は、ステップＳ２において見つかった生理日を日付の古い順に並べ替える。体温ベース予測部１４９は、並べ替えられた生理日の中で隣り合う２つの生理日ごとに、月経周期を特定する。或る生理日から次の生理日の前日までが、１つの月経周期である。体温ベース予測部１４９は、月経周期ごとに、体温ＤＢ１２ｂから、対象者のユーザＩＤに対応する体温の実測値のうち、月経周期の初日から最終日までの実測値をそれぞれ検索する。検索の結果、初日から最終日までの全ての日で実測値が見つかった場合、体温ベース予測部１４９は、各日の体温の実測値が記録された過去の月経周期の数を１増加させる。体温ベース予測部１４９は、このようにしてカウントされた月経周期の数が閾値ＫＮよりも大きいと判定した場合には（ステップＳ３：ＹＥＳ）、ステップＳ４に進む。一方、体温ベース予測部１４９は、各日の体温の実測値が記録された過去の月経周期の数が閾値ＫＮよりも大きくはないと判定した場合には（ステップＳ３：ＮＯ）、生理日予測処理を終了させる。なお、或る月経周期において、一部の日の体温の実測値が記録されていない場合、体温ベース予測部１４９は、例えばその一部の日の前後の日などの体温の実測値で、その日の実測値を補間してもよい。これにより、体温ベース予測部１４９は、各日の体温の実測値が記録された月経周期の数を増やしてもよい。或いは、体温ベース予測部１４９は、例えば体温の実測値が記録されていない日の体温の入力を促すメッセージをユーザ端末２に送信してもよい。そして、体温ベース予測部１４９は、例えばユーザにより手入力された体温を実測値としてユーザ端末２から取得してもよい。
【０１０２】
ステップＳ４において、システム制御部１４は、現月経周期用のパラメータ情報が登録されているか否かを判定する。例えば、システム制御部１４は、ステップＳ２において見つかった生理日のうち最新の生理日を、現月経周期の初日として特定する。次いで、システム制御部１４は、パラメータＤＢ１２ｄから、対象者のユーザＩＤに対応するパラメータ情報のうち、登録日が現月経周期の初日以降であるパラメータ情報を検索する。検索の結果、システム制御部１４は、パラメータ情報がパラメータＤＢ１２ｄに登録されていると判定した場合には（ステップＳ４：ＹＥＳ）、ステップＳ６に進む。一方、システム制御部１４は、パラメータ情報がパラメータＤＢ１２ｄに登録されていないと判定した場合には（ステップＳ４：ＮＯ）、ステップＳ５に進む。ステップＳ５において、システム制御部１４は、パラメータ決定処理を実行する。パラメータ決定処理において、システム制御部１４は、周期ベース予測手法及び体温ベース予測手法のパラメータを生成する。また、システム制御部１４は、周期ベース予測手法により次の生理日を予測する。また、システム制御部１４は、体温ベース予測手法により、現月経周期の高温期の日数を推定する。そして、システム制御部１４は、現月経周期用のパラメータ情報を生成する。パラメータ決定処理の詳細は後述する。次いで、システム制御部１４は、ステップＳ６に進む。
【０１０３】
ステップＳ６において、体温ベース予測部１４９は、現月経周期の各日の体温の実測値が記録されているか否かを判定する。例えば、体温ベース予測部１４９は、体温ＤＢ１２ｂから、対象者のユーザＩＤに対応する体温の実測値のうち、現月経周期の初日から今日までの実測値をそれぞれ検索する。検索の結果、初日から今日までの全ての日で実測値が見つかった場合、体温ベース予測部１４９は、現月経周期の各日の体温の実測値が記録されていると判定する（ステップＳ６：ＹＥＳ）。この場合、体温ベース予測部１４９は、ステップＳ７に進む。一方、初日から今日までのうち少なくとも１日で実測値が見つからなかった場合、体温ベース予測部１４９は、現月経周期の各日の体温の実測値が記録されていないと判定する（ステップＳ６：ＮＯ）。この場合、体温ベース予測部１４９は、ステップＳ１０に進む。なお、体温ベース予測部１４９は、例えば体温の実測値が記録されていない日の体温を補間により決定してもよいし、ユーザに入力させてもよい。
【０１０４】
ステップＳ７において、タイミング特定部１４８は、現月経周期用のパラメータ情報から、短期日数及び長期日数を取得する。次いで、タイミング特定部１４８は、現月経周期の各日の体温の実測値と、短期日数及び長期日数とに基づいて、現月経周期の初日から今日までの各日の短期の移動平均と長期の移動平均とを計算する（ステップＳ８）。次いで、タイミング特定部１４８は、現月経周期でＰクロスオーバーが特定されるか否かを判定する（ステップＳ９）。例えば、或る日の短期の移動平均が長期の移動平均よりも低く、且つその１日後の短期の移動平均が長期の移動平均よりも高い場合、タイミング特定部１４８は、Ｐクロスオーバーが起こったと判定してもよい。この場合、タイミング特定部１４８は、例えばこれら２日間のうち何れかの日を、Ｐクロスオーバーが起こった日として特定する。例えば、タイミング特定部１４８は、短期の移動平均と長期の移動平均との差が小さい方の日を、Ｐクロスオーバーが起こった日として特定してもよい。また例えば、或る日の短期の移動平均が長期の移動平均よりも低く、その或る日の１日後の短期の移動平均が長期の移動平均と一致し、且つその或る日の２日後の短期の移動平均が長期の移動平均よりも高い場合、タイミング特定部１４８は、Ｐクロスオーバーが起こったと判定してもよい。この場合、タイミング特定部１４８は、例えばこれら３日間のうち中央の日を、Ｐクロスオーバーが起こった日として特定してもよい。タイミング特定部１４８は、Ｐクロスオーバーが特定されると判定した場合には（ステップＳ９：ＹＥＳ）、ステップＳ１１に進む。一方、タイミング特定部１４８は、Ｐクロスオーバーが特定されなかったと判定した場合には（ステップＳ９：ＮＯ）、ステップＳ１０に進む。
【０１０５】
ステップＳ１０において、周期ベース予測部１４６は、現月経周期用のパラメータ情報に含まれる予測生理日をユーザ端末２へ送信して、生理日予測処理を終了させる。ユーザ端末２は、情報処理サーバ１から受信した予測生理日を画面に表示する。
【０１０６】
ステップＳ１１において、体温ベース予測部１４９は、現月経周期でＰクロスオーバーが起こった日に基づいて、推定排卵日を決定する。例えば、体温ベース予測部１４９は、Ｐクロスオーバーが起こった日を推定排卵日に決定してもよい。次いで、体温ベース予測部１４９は、Ｐクロスオーバーが起こった日に、現月経周期用のパラメータ情報に含まれる推定高温期日数を加算することにより、予測生理日を計算する（ステップＳ１２）。次いで、体温ベース予測部１４９は、推定排卵日及び予測生理日をユーザ端末２に送信して（ステップＳ１３）。生理日予測処理を終了させる。ユーザ端末２は、情報処理サーバ１から受信した推定排卵日及び予測生理日を画面に表示する。
【０１０７】
図１４は、本実施形態に係る情報処理サーバ１のシステム制御部１４のパラメータ決定処理の一例を示すフローチャートである。図１４に示すように、システム制御部１４は、周期ベースパラメータ決定処理を実行する（ステップＳ２１）。周期ベースパラメータ決定処理において、システム制御部１４は、周期ベース予測手法で用いられるパラメータを決定する。周期ベースパラメータ決定処理の詳細は後述する。次いで、周期ベース予測部１４６は、周期ベース予測処理を実行する（ステップＳ２２）。周期ベース予測処理において、周期ベース予測部１４６は、周期ベース予測手法により予測生理日を決定する。周期ベース予測処理の詳細は後述する。
【０１０８】
次いで、期間日数決定部１４７は、体温ベースパラメータ決定処理を実行する（ステップＳ２３）。体温ベースパラメータ決定処理において、期間日数決定部１４７は、体温ベース予測手法で用いられるパラメータを決定する。体温ベースパラメータ決定処理の詳細は後述する。次いで、体温ベース予測部１４９は、体温ベース予測手法のパラメータに決定された短期日数と長期日数とに基づいて計算される短期の移動平均と長期の移動平均とに基づいて、過去の１以上の月経周期におけるＰクロスオーバーが起こった日とＮクロスオーバーが起こった日とを特定する。そして、体温ベース予測部１４９は、Ｐクロスオーバーが起こった日からＮクロスオーバーが起こった日までの日数の平均値を、推定高温期日数として計算する（ステップＳ２４）。
【０１０９】
次いで、システム制御部１４は、今日の日付を登録日として取得する。次いで、システム制御部１４は、対象者のユーザＩＤ、登録日、周期ベースパラメータ決定処理及び体温ベースパラメータ決定処理で決定されたパラメータ、周期ベース予測手法により決定された予測生理日、及び推定高温期日数を含むパラメータ情報を生成する。そして、システム制御部１４は、生成されたパラメータ情報をパラメータＤＢ１２ｄに登録して（ステップＳ２５）、パラメータ決定処理を終了させる。
【０１１０】
図１５は、本実施形態に係る情報処理サーバ１のシステム制御部１４の周期ベースパラメータ決定処理の一例を示すフローチャートである。図１５に示すように、パラメータ候補取得部１４１は、参照周期の数ＲＮを決定する（ステップＳ３１）。例えば、パラメータ候補取得部１４１は、記憶部１２に予め記憶されている、参照周期の数の初期値を取得する。次いで、パラメータ候補取得部１４１は、過去の月経周期の数が初期値よりも大きいか否かを判定する。過去の月経周期の数が初期値よりも大きい場合、パラメータ候補取得部１４１は、初期値をＲＮに決定する。一方、過去の月経周期の数が初期値以下である場合、パラメータ候補取得部１４１は、過去の月経周期の数から１を減算することにより、ＲＮを計算する。
【０１１１】
次いで、パラメータ候補取得部１４１は、番号ｉを１に設定する（ステップＳ３２）。そして、パラメータ候補取得部１４１は、記憶部１２から、異常値除去の閾値の候補ＯＦ（ｉ）を取得する。次いで、パラメータ候補取得部１４１は、番号ｊを１に設定する（ステップＳ３３）。そして、パラメータ候補取得部１４１は、記憶部１２から、ウインソリゼーションの閾値の候補ＷＮ（ｊ）を取得する。次いで、パラメータ候補取得部１４１は、代表値種別を「平均値」に設定する（ステップＳ３４）。次いで、システム制御部１４は、日数差計算処理を実行する（ステップＳ３５）。日数差計算処理において、システム制御部１４は、ステップＳ３２〜Ｓ３４で決定された、パラメータの候補組み合わせに基づいて、複数の参照周期を修正する。そして、システム制御部１４は、修正された参照周期の代表値と基準周期との差を、合計日数差として計算する。日数差計算処理の詳細は後述する。
【０１１２】
次いで、パラメータ候補取得部１４１は、代表値種別が「平均値」であるか否かを判定する（ステップＳ３６）。このとき、パラメータ候補取得部１４１は、代表値種別が「平均値」であると判定した場合には（ステップＳ３６：ＹＥＳ）、ステップＳ３７に進む。ステップＳ３７において、パラメータ候補取得部１４１は、代表値種別を「中央値」に変更して、ステップＳ３５に進む。一方、パラメータ候補取得部１４１は、代表値種別が「平均値」ではないと判定した場合には（ステップＳ３６：ＮＯ）、ステップＳ３８に進む。ステップＳ３８において、パラメータ候補取得部１４１は、番号ｊが、ウインソリゼーションの閾値の候補の数未満であるか否かを判定する。このとき、パラメータ候補取得部１４１は、パラメータ番号ｊが、ウインソリゼーションの閾値の候補の数未満であると判定した場合には（ステップＳ３８：ＹＥＳ）、ステップＳ３９に進む。ステップＳ３９において、パラメータ候補取得部１４１は、番号ｊに１を加算して、ステップＳ３４に進む。一方、パラメータ候補取得部１４１は、パラメータ番号ｊが、ウインソリゼーションの閾値の候補の数未満ではないと判定した場合には（ステップＳ３８：ＮＯ）、ステップＳ４０に進む。ステップＳ４０において、パラメータ候補取得部１４１は、番号ｉが、異常値除去の閾値の候補の数未満であるか否かを判定する。このとき、パラメータ番号ｉが、異常値除去の閾値の候補の数未満であると判定した場合には（ステップＳ４０：ＹＥＳ）、ステップＳ４１に進む。ステップＳ４１において、パラメータ候補取得部１４１は、番号ｉに１を加算して、ステップＳ３３に進む。一方、パラメータ候補取得部１４１は、パラメータ番号ｉが、異常値除去の閾値の候補の数未満ではないと判定した場合には（ステップＳ４０：ＮＯ）、ステップＳ４２に進む。
【０１１３】
ステップＳ４２において、パラメータ決定部１４５は、全ての候補組み合わせを、合計日数差が小さい順に並べ替える。次いで、パラメータ決定部１４５は、合計日数差が最も小さい候補組み合わせを第１候補として特定する。次いで、パラメータ決定部１４５は、第１候補の合計日数差から所定範囲内の合計日数差が計算された別の候補組み合わせがあるか否かを判定する（ステップＳ４３）。例えば、パラメータ決定部１４５は、第１候補の合計日数差に、記憶部１２に予め記憶されている係数を掛けて、合計日数差の基準値を計算する。この係数の値は、例えば１よりも大きい。次いで、パラメータ決定部１４５は、第１候補を除き、合計日数差が基準値以下である候補組み合わせが１つ以上あるか否かを判定する。このとき、合計日数差が基準値以下である候補組み合わせが１つ以上ある場合、パラメータ決定部１４５は、第１候補の合計日数差から所定範囲内の合計日数差が計算された別の候補組み合わせがあると判定する（ステップＳ４３：ＹＥＳ）。この場合、パラメータ決定部１４５は、合計日数差が基準値以下である候補組み合わせを第２候補として特定する。そして、パラメータ決定部１４５は、ステップＳ４５に進む。一方、合計日数差が基準値以下である候補組み合わせがない場合、パラメータ決定部１４５は、第１候補の合計日数差から所定範囲内の合計日数差が計算された別の候補組み合わせがないと判定する（ステップＳ４３：ＮＯ）。この場合、パラメータ決定部１４５は、ステップＳ４４に進む。
【０１１４】
ステップＳ４４において、パラメータ決定部１４５は、第１候補を、周期ベース予測手法で用いるパラメータに決定して、周期ベースパラメータ決定処理を終了させる。
【０１１５】
ステップＳ４５において、パラメータ決定部１４５は、人数取得処理を実行する。人数取得処理において、パラメータ決定部１４５は、第１候補が周期ベース予測手法のパラメータとして決定されたユーザの数を取得し、且つ第２候補が周期ベース予測手法のパラメータとして決定されたユーザの数を取得する。人数取得処理の詳細は後述する。次いで、パラメータ決定部１４５は、第１候補及び第２候補のうち、パラメータとして決定されたユーザの数が最も多い候補を、周期ベース予測手法で用いるパラメータに決定して（ステップＳ４６）、周期ベースパラメータ決定処理を終了させる。
【０１１６】
図１６は、本実施形態に係る情報処理サーバ１のシステム制御部１４の日数差計算処理の一例を示すフローチャートである。図１６に示すように、パラメータ決定部１４５は、合計日数差ＴＤ（ｉ，ｊ，ｋ）を０に設定する（ステップＳ５１）。次いで、周期セット取得部１４２は、月経周期の番号ｍを１に設定する（ステップＳ５２）。次いで、周期セット取得部１４２は、生理日予測処理で特定された過去の複数の月経周期のうち月経周期（ｍ）の日数を、基準周期の日数として取得する（ステップＳ５３）。月経周期（ｍ）は、過去の月経周期のうちｍ番目に新しい月経周期である。次いで、次いで、周期セット取得部１４２は、生理日予測処理で特定された過去の複数の月経周期のうち、月経周期（ｍ＋１）〜月経周期（ｍ＋ＲＮ＋１）のそれぞれの日数を、参照周期の日数として取得する（ステップＳ５４）。そして、周期セット取得部１４２は、取得した参照周期の日数を昇順に並べ替える。
【０１１７】
次いで、修正参照周期取得部１４３は、日数ごとに参照周期の出現数をカウントする。そして、修正周期群取得部１４３は、各出現数をＲＮで割ることにより、日数ごとに参照周期の出現確率を計算する（ステップＳ５５）。次いで、修正参照周期取得部１４３は、取得された参照周期から、出現確率がＯＦ（ｉ）パーセント未満である日数の参照周期を、異常値として除去する（ステップＳ５６）。
【０１１８】
次いで、修正参照周期取得部１４３は、異常値が除去された残りの参照周期の日数の中から、ＷＮ（ｊ）パーセンタイル及び（１００−ＷＮ（ｊ））パーセンタイルを決定する。そして、修正参照周期取得部１４３は、残りの参照周期のうちＷＮ（ｊ）パーセンタイル未満の日数の参照周期の日数を、ＷＮ（ｊ）パーセンタイルに変更する（ステップＳ５７）。また、修正参照周期取得部１４３は、残りの参照周期のうち（１００−ＷＮ（ｊ））パーセンタイルを超える日数の参照周期の日数を、（１００−ＷＮ（ｊ））パーセンタイルに変更する（ステップＳ５８）。
【０１１９】
次いで、代表値取得部１４４は、代表値種別ｋが「平均値」であるか否かを判定する（ステップＳ５９）。このとき、代表値取得部１４４は、代表値種別ｋが「平均値」であると判定した場合には（ステップＳ５９：ＹＥＳ）、ステップＳ６０に進む。ステップＳ６０において、代表値取得部１４４は、修正された参照周期の日数の平均値を代表値Ｐとして計算して、ステップＳ６２に進む。一方、代表値取得部１４４は、代表値種別ｋが「平均値」ではないと判定した場合には（ステップＳ５９：ＮＯ）、ステップＳ６１に進む。ステップＳ６１において、代表値取得部１４４は、修正された参照周期の日数の中央値を代表値Ｐとして決定して、ステップＳ６２に進む。
【０１２０】
ステップＳ６２において、パラメータ決定部１４５は、基準周期の日数と代表値Ｐとの差の絶対値Ｄを計算する。次いで、パラメータ決定部１４５は、記憶部１２から重み係数Ｗ（ｍ）を取得する。ｍの値が大きいほど、Ｗ（ｍ）の値は小さくなる。次いで、パラメータ決定部１４５は、差の絶対値ＤにＷ（ｍ）を掛けて、加重差を計算する。そして、パラメータ決定部１４５は、合計日数差Ｔ（ｉ，ｊ，ｋ）に加重差を加算して、Ｔ（ｉ，ｊ，ｋ）を更新する（ステップＳ６３）。
【０１２１】
次いで、周期セット取得部１４２は、番号ｍと参照周期の数ＲＮとの和が、過去の月経周期の数未満であるか否かを判定する（ステップＳ６４）。このとき、周期セット取得部１４２は、番号ｍと参照周期の数ＲＮとの和が過去の月経周期の数未満であると判定した場合には（ステップＳ６４：ＹＥＳ）、ステップＳ６５に進む。ステップＳ６５において、周期セット取得部１４２は、番号ｍに１を加算して、ステップＳ５３に進む。一方、周期セット取得部１４２は、番号ｍと参照周期の数ＲＮとの和が過去の月経周期の数未満ではないと判定した場合には（ステップＳ６４：ＮＯ）、日数差計算処理を終了させる。
【０１２２】
図１７は、本実施形態に係る情報処理サーバ１のシステム制御部１４の人数取得処理の一例を示すフローチャートである。なお、以下では、対象者の特徴の同一性の判定に年代を用いた場合の例を説明する。図１７に示すように、パラメータ決定部１４５は、会員情報ＤＢ１２ａから、対象者のユーザＩＤに対応する年齢を取得する。そして、パラメータ決定部１４５は、取得した年齢に基づいて、対象者の年代を取得する（ステップＳ７１）。次いで、パラメータ決定部１４５は、第１候補及び１又は複数の第２候補の中から１つを選択する（ステップＳ７２）。次いで、パラメータ決定部１４５は、パラメータＤＢ１２ｄから、選択された候補の異常値除去の閾値、ウインソリゼーションの閾値及び代表値種別の全てを含むパラメータ情報を検索する。そして、パラメータ決定部１４５は、検索により見つかったパラメータ情報のリストを生成する（ステップＳ７３）。
【０１２３】
次いで、パラメータ決定部１４５は、リストから、最新ではないパラメータ情報を削除する（ステップＳ７４）。例えば、パラメータ決定部１４５は、リスト中のパラメータ情報からユーザＩＤを取得する。次いで、パラメータ決定部１４５は、取得したユーザＩＤに対応するパラメータ情報のうち登録日が最新のパラメータ情報をパラメータＤＢ１２ｄから検索する。次いで、パラメータ決定部１４５は、リスト中のパラメータ情報の登録日が、最新の登録日よりも古い場合には、そのパラメータ情報を削除する。パラメータ決定部１４５は、これらの処理を、リスト中のパラメータ情報ごとに実行する。
【０１２４】
次いで、パラメータ決定部１４５は、対象者の年代と一致するユーザの人数をカウントする（ステップＳ７５）。例えば、パラメータ決定部１４５は、リスト中のパラメータ情報に含まれるユーザＩＤに対応する年齢を会員情報ＤＢ１２ａから取得する。そして、パラメータ決定部１４５は、取得した年齢に基づいて、ユーザＩＤが示すユーザの年代を取得する。取得された年代が対象者の年代と一致する場合、パラメータ決定部１４５は、ユーザの人数を１増加させる。パラメータ決定部１４５は、これらの処理を、リスト中のパラメータ情報ごとに実行する（ステップＳ７５）。
【０１２５】
次いで、パラメータ決定部１４５は、第１候補及び１又は複数の第２候補の全てを選択したか否かを判定する（ステップＳ７６）。このとき、パラメータ決定部１４５は、まだ選択されていない候補があると判定した場合には（ステップＳ７６：ＮＯ）、ステップＳ７７に進む。ステップＳ７７において、パラメータ決定部１４５は、まだ選択されていない候補の中から１つを選択して、ステップＳ７３に進む。一方、パラメータ決定部１４５は、全ての候補を選択したと判定した場合には（ステップＳ７６：ＹＥＳ）、人数取得処理を終了させる。
【０１２６】
図１８は、本実施形態に係る情報処理サーバ１のシステム制御部１４の周期ベース予測処理の一例を示すフローチャートである。図１８に示すように、周期ベース予測部１４６は、パラメータとして決定された異常値除去の閾値ＯＦ、ウインソリゼーションの閾値ＷＮ及び代表値種別ＰＲを取得する（ステップＳ８１）。次いで、周期ベース予測部１４６は、対象者の過去の複数の月経周期のそれぞれの日数を取得する（ステップＳ８２）。
【０１２７】
次いで、周期ベース予測部１４６は、日数ごとに過去の月経周期の出現数をカウントする。そして、周期ベース予測部１４６は、各出現数を、過去の月経周期の数で割ることにより、日数ごとに過去の月経周期の出現確率を計算する（ステップＳ８３）。次いで、周期ベース予測部１４６は、取得された月経周期から、出現確率がＯＦパーセント未満である日数の参照周期を、異常値として除去する（ステップＳ８４）。次いで、周期ベース予測部１４６は、異常値が除去された残りの月経周期の日数の中から、ＷＮパーセンタイル及び（１００−ＷＮ）パーセンタイルを決定する。そして、周期ベース予測部１４６は、残りの月経周期のうちＷＮパーセンタイル未満の日数の月経周期の日数を、ＷＮパーセンタイルに変更する（ステップＳ８５）。また、周期ベース予測部１４６は、残りの月経周期のうち（１００−ＷＮ）パーセンタイルを超える日数の月経周期の日数を、（１００−ＷＮ）パーセンタイルに変更する（ステップＳ８６）。
【０１２８】
次いで、周期ベース予測部１４６は、代表値種別ＰＲが「平均値」であるか否かを判定する（ステップＳ８７）。このとき、周期ベース予測部１４６は、代表値種別ＰＲが「平均値」であると判定した場合には（ステップＳ８７：ＹＥＳ）、ステップＳ８８に進む。ステップＳ８８において、周期ベース予測部１４６は、修正された月経周期の日数の平均値を代表値Ｐとして計算して、ステップＳ９０に進む。一方、周期ベース予測部１４６は、代表値種別ＰＲが「平均値」ではないと判定した場合には（ステップＳ８７：ＮＯ）、ステップＳ８９に進む。ステップＳ８９において、周期ベース予測部１４６は、修正された月経周期の日数の中央値を代表値Ｐとして決定して、ステップＳ９０に進む。
【０１２９】
ステップＳ９０において、周期ベース予測部１４６は、現月経周期の初日の日付に代表値Ｐを加算して、予測生理日を計算する。そして、周期ベース予測部１４６は、周期ベース予測処理を終了させる。
【０１３０】
図１９は、本実施形態に係る情報処理サーバ１のシステム制御部１４の体温ベースパラメータ決定処理の一例を示すフローチャートである。図１９に示すように、期間日数決定部１４７は、短期日数と長期日数との組み合わせを１つ取得する（ステップＳ１０１）。次いで、期間日数決定部１４７は、取得した組み合わせと、対象者の過去の１以上の月経周期の体温の実測値に基づいて、過去の１以上の月経周期の体温の短期の移動平均と長期の移動平均とを計算する（ステップＳ１０２）。次いで、期間日数決定部１４７は、計算した移動平均に基づいて、Ｎクロスオーバーが起こった日を特定する（ステップＳ１０３）。短期の移動平均と長期の移動平均との高低の関係が逆になることを除き、Ｎクロスオーバーが起こった日の特定方法は、Ｐクロスオーバーが起こった日の特定方法と同一である。Ｐクロスオーバーが起こった日の特定方法は、図１３に示す生理日予測処理のステップＳ９についての説明で述べられている。
【０１３１】
次いで、期間日数決定部１４７は、過去の１以上月経周期のそれぞれの最終日の次の日である生理日について、生理日と、Ｐクロスオーバーが起こった日のうちその生理日に最も近い日との差を計算する。そして、期間日数決定部１４７は、生理日とＰクロスオーバーが起こった日との差の平均値を計算する（ステップＳ１０４）。すなわち、期間日数決定部１４７は式３を計算する。次いで、期間日数決定部１４７は、過去の１以上の月経周期における短期の移動平均と長期の移動平均との差の定積分を計算する（ステップＳ１０５）。すなわち、期間日数決定部１４７は式５を計算する。次いで、期間日数決定部１４７は、ステップＳ１０４及びＳ１０５の計算結果を用いて、式６に示す関数ｆを計算する（ステップＳ１０６）。
【０１３２】
次いで、期間日数決定部１４７は、短期日数と長期日数との全ての組み合わせを取得したか否かを判定する（ステップＳ１０７）。このとき、期間日数決定部１４７は、まだ取得していない組み合わせがあると判定した場合には（ステップＳ１０７：ＮＯ）、ステップＳ１０８に進む。ステップＳ１０８において、期間日数決定部１４７は、まだ取得していない組み合わせのうち１つを取得して、ステップＳ１０２に進む。一方、期間日数決定部１４７は、全ての組み合わせを取得したと判定した場合には（ステップＳ１０７：ＹＥＳ）、ステップＳ１０９に進む。
【０１３３】
ステップＳ１０９において、期間日数決定部１４７は、短期日数と長期日数との複数の組み合わせのうち、関数ｆが最も大きい組み合わせを、体温ベース予測手法のパラメータに決定する。そして、体温ベース予測部１４９は、体温ベースパラメータ決定処理を終了させる。
【０１３４】
以上説明したように、本実施形態によれば、システム制御部１４が、異常値除去の閾値の複数の候補と、ウインソリゼーションの閾値の複数の候補との少なくとも何れかの閾値の複数の候補を取得してもよい。また、システム制御部１４が、対象者の過去の複数の月経周期の中から、基準周期と複数の参照周期とを取得してもよい。また、システム制御部１４が、閾値の候補ごとに、複数の参照周のうち閾値の候補により特定される外れ値に所定の処理が施されることにより修正された複数の参照周期を取得してもよい。また、システム制御部１４が、閾値の候補ごとに、修正された複数の参照周期の代表値を取得してもよい。また、システム制御部１４が閾値の候補ごとに取得された代表値と基準周期とを比較してもよい。また、システム制御部１４が、比較結果に基づいて、閾値の複数の候補の中から、対象者の月経周期の日数の予測に用いられる閾値を決定してもよい。この場合、月経周期のばらつきが大きい場合であっても、予測精度の低下を抑制する閾値を決定することが可能となる。そのため、この閾値に基づいて、予測精度の低下を抑制して月経周期を予測することが可能であり、この月経周期を用いて生理日を予測することが可能である。
【０１３５】
また、システム制御部１４が、異常値除去の閾値の複数の候補と、ウインソリゼーションの閾値の複数の候補とを取得してもよい。また、システム制御部１４が、異常値除去の閾値の候補とウインソリゼーションの閾値の候補とを含む候補組み合わせごとに、複数の参照周期から異常値除去の閾値により異常値として特定される参照周期が除去され、且つその異常値が除去された複数の参照周期のうちウインソリゼーションの閾値により外れ値として特定される参照周期の日数がウインソリゼーションの閾値に対応する日数に変更されることにより修正された複数の参照周期を取得してもよい。また、システム制御部１４が、候補組み合わせごとに、修正された複数の参照周期の代表値を取得してもよい。また、システム制御部１４が、候補組み合わせごとに代表値と基準周期とを比較してもよい。また、システム制御部１４が、比較結果に基づいて、複数の候補組み合わせの中から、予測に用いられる候補組み合わせを決定してもよい。この場合、月経周期のばらつきが大きい場合であっても、予測精度の低下を抑制する異常値除去の閾値及びウインソリゼーションの閾値を決定することが可能となる。
【０１３６】
また、システム制御部１４が、異常値除去の閾値とウインソリゼーションの閾値とを取得してもよい。また、システム制御部１４が、複数の月経周期から、異常値除去の閾値により異常値として特定される月経周期を除去してもよい。また、システム制御部１４が、異常値が除去された複数の月経周期のうち、ウインソリゼーションの閾値により外れ値として特定される月経周期の日数をそのウインソリゼーションの閾値に対応する日数に変更してもよい。そして、システム制御部１４が、月経周期の日数が変更された複数の月経周期に基づいて、対象者の月経周期の日数を予測してもよい。この場合、月経周期のばらつきが大きい場合であっても、予測精度の低下を抑制して、月経周期を予測することが可能であり、この月経周期を用いて生理日を予測することが可能である。
【０１３７】
また、システム制御部１４が、複数の周期セットを取得してもよい。また、システム制御部１４が、閾値の候補と周期セットとの組み合わせごとに、修正された複数の参照周期を取得してもよい。また、システム制御部１４が、閾値の候補と周期セットとの組み合わせごとに、修正された複数の参照周期の代表値を取得してもよい。また、システム制御部１４が、閾値の候補と周期セットとの組み合わせごとに、代表値と基準周期とを比較してもよい。そして、システム制御部１４が、閾値の候補ごとに得られる複数の比較結果に基づいて、予測に用いられる閾値を決定してもよい。この場合、より適切な閾値を決定することができる。
【０１３８】
また、システム制御部１４が、連続する複数の参照周期と、複数の参照周期に連続し且複数の参照周期よりも新しい基準周期とを取得してもよい。また、システム制御部１４が、閾値の候補ごとに得られる複数の比較結果のそれぞれを重み付けして、予測に用いられる閾値を決定してもよい。このとき、システム制御部１４が、基準周期が古いほど、その基準周期と代表値との比較結果の重みを小さくしてもよい。この場合、月経周期の予測のためにより適切な閾値を決定することができる。
【０１３９】
また、システム制御部が、複数の閾値の候補の中に、代表値と基準周期との差が最も小さい第１候補のその差から所定範囲内の差が取得された第２候補がある場合、対象者と異なるユーザのうち、予測に用いられる閾値として第１候補が決定されたユーザの数と、予測に用いられる閾値として第２候補が決定されたユーザの数とに基づいて、第１候補と第２候補の中から、予測に用いられる閾値を決定してもよい。この場合、月経周期の予測のためにより適切な閾値を決定することができる。
【０１４０】
また、システム制御部１４が、予測に用いられる閾値として第１候補が決定されたユーザのうち対象者が有する特徴との同一性がある特徴を有するユーザの数と、予測に用いられる閾値として第２候補が決定されたユーザのうち対象者が有する特徴との同一性がある特徴を有するユーザの数とに基づいて、予測に用いられる閾値を決定してもよい。この場合、対象者にとってより適切な閾値を決定することができる。
【０１４１】
また、システム制御部１４が、閾値の候補ごとに、修正された複数の参照周期の平均値及び中央値をそれぞれ取得してもよい。また、システム制御部１４が、閾値の候補ごとに、平均値及び中央値のそれぞれと基準周期とを比較してもよい。そして、システム制御部１４が、閾値の候補と代表値種別とを含む複数の候補組み合わせの中から、予測に用いられる候補組み合わせを決定してもよい。この場合、対象者の過去の複数の月経周期の分布状況に適した代表値を取得することができる。
【０１４２】
また、システム制御部１４が、対象者の現在の月経周期で測定された体温の短期の移動平均が長期の移動平均よりも大きくなるタイミングが、現在の月経周期内で到来していない場合、決定された閾値と、対象者の過去の複数の月経周期とに基づいて、対象者の現在の月経周期の日数を予測し、予測された日数に基づいて、次の生理日を予測してもよい。また、システム制御部１４が、短期の移動平均が長期の移動平均よりも大きくなるタイミングが現在の月経周期内で到来している場合、そのタイミングに基づいて、次の生理日を予測してもよい。この場合、低温期から高温期に移行した後は、より精度の高い生理日の予測が可能となる。
【０１４３】
また、システム制御部１４が、過去の１以上の月経周期の間に測定された複数日分の体温について、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングが、過去の１以上の生理日と重なるように、短期日数と長期日数とを決定してもよい。また、システム制御部１４が、対象の月経周期で測定された体温の移動平均について、短期日数の移動平均が長期日数の移動平均よりも高くなるタイミングを特定してもよい。そして、システム制御部１４が、特定されたタイミングに基づいて、対象とする月経周期の次の生理日を予測し、又は対象とする月経周期中の排卵日の到来を推定してもよい。この場合、移動平均により、体温の時系列が平滑化されるので、このタイミングを特定することにより、実際に低温期から高温期に移行するタイミングの前後で体温が上下に変動する場合であっても、そのタイミングを適切に特定することができる。また、高温期から低温期に移行するタイミングで生理日となる。そのため、短期日数と長期日数とを適切に決定することができる。従って、精度の低下を抑制した排卵日の推定及び生理日の予測の少なくとも何れか一方が可能となる。
【０１４４】
また、システム制御部１４が、過去の１以上の月経周期において、短期日数の移動平均が長期日数の移動平均よりも高くなるタイミングから、短期日数の移動平均が長期日数の移動平均よりも低くなるタイミングまでの日数の代表値を、現在の月経周期において短期日数の移動平均が長期日数の移動平均よりも高くなるタイミングに加算して、次の生理日を予測してもよい。この場合、対象者の高温期の傾向に応じてより適切に、排卵日の推定及び生理日の予測の少なくとも何れか一方を行うことができる。
【０１４５】
また、システム制御部１４が、過去の１以上の月経周期で測定された体温の短期の移動平均がその体温の長期の移動平均よりも低くなるタイミングと生理日との時間差が小さくなるように、且つ、過去の１以上の月経周期における短期の移動平均と長期の移動平均との差の積分値が大きくなるように、短期日数と長期日数とを決定してもよい。この場合、体温の短期の移動平均と長期の移動平均との差の積分値と、体温の短期の移動平均が長期の移動平均よりも低くなるタイミングと生理日との時間差とに基づいて、より適切な短期の日数と長期の日数を決定することができる。
【０１４６】
また、システム制御部１４が、現月経周期において短期の移動平均が長期の移動平均よりも高くなるタイミングが特定されなかった場合、過去の１以上の月経周期の日数に基づいて、次の生理日を予測してもよい。この場合、まだ低温期から高温期に移行していない場合であっても、生理日を予測することができる。
【０１４７】
なお、上記各実施形態においては、本発明の情報処理装置が、クライアントサーバシステムにおけるサーバ装置に適用されていた。しかしながら、本発明の情報処理装置が、サーバ装置以外の情報処理装置に適用されてもよい。例えば、本発明の情報処理装置がユーザ端末２等に適用されてもよい。この場合、情報処理装置は、ユーザからの体温に実測値及び生理日の入力を受け付け、そのユーザの排卵日を推定し又は次の生理日を予測してもよい。
【符号の説明】
【０１４８】
１  情報処理サーバ
２  ユーザ端末
１１  通信部
１２  記憶部
１２ａ  会員情報ＤＢ
１２ｂ  体温ＤＢ
１２ｃ  生理日ＤＢ
１２ｄ  パラメータＤＢ
１３  入出力インターフェース
１４  システム制御部
１４ａ  ＣＰＵ
１４ｂ  ＲＯＭ
１４ｃ  ＲＡＭ
１５  システムバス
１４１  パラメータ候補取得部
１４２  周期セット取得部
１４３  修正参照周期取得部
１４４  代表値取得部
１４５  パラメータ決定部
１４６  周期ベース予測部
１４７  期間日数決定部
１４８  タイミング特定部
１４９  体温ベース予測部
ＮＷ  ネットワーク
Ｓ  情報処理システム
【要約】
本発明は、実際に低温期から高温期に移行するタイミングの前後で体温が上下に変動する場合であっても、精度の低下を抑制した排卵日の推定及び生理日の予測の少なくとも何れか一方を可能とすることを目的とする。情報処理装置は、過去の月経周期の間に測定された複数日分の体温について、短期の移動平均が長期の移動平均よりも低くなるタイミングが生理日と重なるように、短期の短期日数と長期の長期日数とを決定する。情報処理装置は、対象の月経周期で測定された体温の移動平均について、短期日数の移動平均が長期日数の移動平均よりも高くなるタイミングを特定する。情報処理装置は、特定されたタイミングに基づいて、次の生理日を予測し、又は排卵日の到来を推定する。【図１】
0005775242.tif 000009
【図２Ａ】
0005775242.tif 000010
【図２Ｂ】
0005775242.tif 000011
【図３】
0005775242.tif 000012
【図４Ａ】
0005775242.tif 000013
【図４Ｂ】
0005775242.tif 000014
【図４Ｃ】
0005775242.tif 000015
【図５Ａ】
0005775242.tif 000016
【図５Ｂ】
0005775242.tif 000017
【図５Ｃ】
0005775242.tif 000018
【図６Ａ】
0005775242.tif 000019
【図６Ｂ】
0005775242.tif 000020
【図６Ｃ】
0005775242.tif 000021
【図７Ａ】
0005775242.tif 000022
【図７Ｂ】
0005775242.tif 000023
【図８Ａ】
0005775242.tif 000024
【図８Ｂ】
0005775242.tif 000025
【図９】
0005775242.tif 000026
【図１０】
0005775242.tif 000027
【図１１】
0005775242.tif 000028
【図１２Ａ】
0005775242.tif 000029
【図１２Ｂ】
0005775242.tif 000030
【図１３】
0005775242.tif 000031
【図１４】
0005775242.tif 000032
【図１５】
0005775242.tif 000033
【図１６】
0005775242.tif 000034
【図１７】
0005775242.tif 000035
【図１８】
0005775242.tif 000036
【図１９】
0005775242.tif 000037