MortalityData[spec]
指定された年齢層についてのすべての特性値を与える.
MortalityData[spec,property]
指定された年齢層についての指定された特性の値を与える.
MortalityData
MortalityData[spec]
指定された年齢層についてのすべての特性値を与える.
MortalityData[spec,property]
指定された年齢層についての指定された特性の値を与える.
詳細とオプション
- 年齢層 spec は,Association["Age"->age,"Gender"->gender, "Country"->country, "Year"year]の形の連想である.
- 年齢は,DateObjectを使って,時についての正のQuantityあるいは誕生日として与えることができる.また,そのようなオブジェクトのリストとしても指定することができる.
- データは0歳から110歳までの年齢について入手できる.
- 特性値を決定するために,年齢は直近の整数年に丸められる.
- 性別は"Male"あるいは"Female"として与えることができる.適切な性別Entityも使うことができる.
- 性別が指定されていない場合は,"Male"と"Female"の両方の結果を含むAssociationが返される.
- 国は,Entityあるいは標準的な国名でよい.
- MortalityData["Countries"]は,使用可能な国のリストを与える.
- 国は,特に指定がない場合は"UnitedStates"であるとみなされる.
- "Year"を加えて歴史的なデータをリクエストすることができる.year は死亡率情報の出典の日付である.year は整数またはDateObjectでなければならない.
- デフォルトで,使用可能なデータのうち最も新しいものが使われる.
- property は,正規名またはEntityPropertyでなければならない.
- MortalityData["Properties"]は使用可能な特性のリストを与える.
- 使用可能な特性
-
"CDF" 死亡時の年齢の累積分布関数 "CDFDimensionless" as "CDF" without Quantity formatting "DeathProbabilityBefore" q[x],年齢 x から x+1までに死亡する確率 "DeathRate" m[x],年齢 x から x+1までの死亡率 "Distribution" 10万人の群についての死亡分布 "DistributionDimensionless" Quantityのフォーマットなしの"Distribution"として "InverseCDF" 死亡時の年齢の累積分布関数の逆関数 "InverseCDFDimensionless" Quantityのフォーマットなしの"InverseCDF"として "InverseSurvivalFunction" 死亡時の年齢の生存関数の逆関数 "InverseSurvivalFunctionDimensionless" Quantityのフォーマットなしの"InverseSurvivalFunction"として "LifeExpectancy" 合計平均寿命 "MortalityForce" μ[x],死亡率関数の力 "MortalityForceDimensionless" Quantityのフォーマットなしの"MortalityForce"として "NumberDying" l[x],初期群を100000とした場合の,x 年中に死亡する人数 "NumberSurviving" d[x],誕生した100,000人のうち,x 歳まで生存している人数 "PDF" 死亡時の年齢の確率密度関数 "PDFDimensionless" Quantityのフォーマットなしの"PDF"として "PersonYearsLived" L[x],年齢 x 年から x+1年までに生きた人年 "PersonYearsRemaining" T[x],年齢 x 年を超えて生きた総人年数 "Quantile" 死亡時の年齢についての四分位関数 "QuantileDimensionless" Quantityのフォーマットなしの"Quantile"として "RemainingLifeExpectancy" e[x],期待される余命年数 "SurvivalFunction" 死亡時における年齢の分布についての生存関数 "SurvivalFunctionDimensionless" Quantityのフォーマットなしの"SurvivalFunction"として "SurvivalProbabilityPast" p[x],x 歳の人間が x+1歳まで生きる確率 - "CDF","InverseCDFQuantity","InverseSurvivalFunction","MortalityForce","PDF","SurvivalFunction"はすべて,Quantity入出力のある関数として返される.
- "DeathProbabilityBefore"および"SurvivalProbabilityPast"は,最終年齢についての限定子を付けて与えることができる."DeathProbabilityBefore"は指定した年齢層の人間がその年齢に達する前に死亡する確率を示すのに対し,"SurvivalProbabilityPast"はその年齢を超えて生存する確率を返す.
- MortalityDataはさまざまな資料に基づいており,人間による処理とアルゴリズムによる処理の両方でさらに強化されている.主資料はwww.mortality.orgの「Human Mortality Database」である.
例題
すべて開く すべて閉じる例 (1)
MortalityData[<|"Age" -> Quantity[70, "Years"], "Gender" -> "Female"|>, "DeathProbabilityBefore"]MortalityData[<|"Age" -> DateObject[{1976, 7, 4}, "Day", "Gregorian", -6.], "Gender" -> "Male"|>, "LifeExpectancy"]男女を平均した20歳の人間が80歳過ぎまで生きている確率を計算する:
MortalityData[<|"Age" -> Quantity[20, "Years"], "Gender" -> "Any"|>, EntityProperty["Mortality", "SurvivalProbabilityPast", {"Age" -> 80}]]スコープ (9)
MortalityData["Properties"]MortalityData[<|"Age" -> Quantity[33, "Years"], "Gender" -> "Female"|>]//ShortMortalityData[<|"Age" -> Quantity[40, "Years"], "Gender" -> "Male"|>, "DeathRate"]dying = MortalityData[<|"Age" -> Quantity[Range[0, 100], "Years"], "Gender" -> "Female"|>, "NumberDying"];ListPlot[dying, Filling -> Axis]MortalityData[<|"Age" -> Quantity[0, "Years"], "Gender" -> "Female"|>, "NumberSurviving"]MortalityData[<|"Age" -> Quantity[60, "Years"], "Gender" -> "Male"|>, "RemainingLifeExpectancy"]MortalityData[<|"Age" -> Quantity[33, "Years"], "Gender" -> "Female"|>, EntityProperty["Mortality", "DeathProbabilityBefore", {"Age" -> 40}]]MortalityData[<|"Age" -> Quantity[65, "Years"], "Gender" -> "Male", "Country" -> Entity["Country", "Ireland"]|>, "DeathRate"]MortalityData[<|"Age" -> Quantity[65, "Years"], "Gender" -> "Male", "Country" -> Entity["Country", "France"]|>, "DeathRate"]MortalityData["Countries"]data = Table[{i, MortalityData[<|"Age" -> Quantity[50, "Years"], "Gender" -> "Female", "Year" -> i|>, "LifeExpectancy"]}, {i, 1950, 2000, 5}];ListPlot[data, Joined -> True, AxesLabel -> Automatic]アプリケーション (4)
80歳以上まで生きる確率が年齢とともにどのように変わるかを調べる:
years = Table[Quantity[i, "Years"], {i, 0, 75}];
data = MortalityData[<|"Age" -> years, "Gender" -> "Any"|>, EntityProperty["Mortality", "SurvivalProbabilityPast", {"Age" -> 80}]];ListPlot[Transpose[{years, data}], Joined -> True, AxesLabel -> Automatic]ageSpan = Quantity[Range[100], "Years"];
ListLogLogPlot[
Transpose[{ageSpan, MortalityData[<|"Age" -> ageSpan, "Gender" -> "Any"|>,
"DeathProbabilityBefore"]}], AxesLabel -> Automatic]ages = Table[Quantity[i, "Years"], {i, 80, 110}];
female = MortalityData[<|"Age" -> ages, "Gender" -> "Female"|>, "DeathRate"];
male = MortalityData[<|"Age" -> ages, "Gender" -> "Male"|>, "DeathRate"];ListPlot[{Transpose[{ages, female}], Transpose[{ages, male}]}, Joined -> True, AxesLabel -> Automatic, PlotLegends -> {"Female", "Male"}]france = Table[{i, MortalityData[<|"Age" -> Quantity[0, "Years"], "Gender" -> "Any", "Year" -> i, "Country" -> Entity["Country", "France"]|>, "LifeExpectancy"]}, {i, 1935, 2000, 5}];uk = Table[{i, MortalityData[<|"Age" -> Quantity[0, "Years"], "Gender" -> "Any", "Year" -> i, "Country" -> Entity["Country", "UnitedKingdom"]|>, "LifeExpectancy"]}, {i, 1935, 2000, 5}];ListPlot[{france, uk}, Joined -> True, Frame -> True, Axes -> False, FrameLabel -> {"", "life expectancy"}, PlotLegends -> {"France", "United Kingdom"}]考えられる問題 (3)
MortalityData[<|"Age" -> Quantity[33.5, "Years"], "Gender" -> "Female"|>, "RemainingLifeExpectancy"]MortalityData[<|"Age" -> Quantity[34, "Years"], "Gender" -> "Female"|>, "RemainingLifeExpectancy"]MortalityData[<|"Age" -> Quantity[-1, "Years"], "Gender" -> "Female"|>, "NumberSurviving"]MortalityData[<|"Age" -> DateObject[{2099, 1, 1}], "Gender" -> "Male"|>, "NumberSurviving"]MortalityData[<|"Age" -> DateObject[{1899, 1, 1}], "Gender" -> "Male"|>, "NumberSurviving"]おもしろい例題 (4)
countries = {Entity["Country", "Belarus"], Entity["Country", "Estonia"], Entity["Country", "Latvia"], Entity["Country", "Lithuania"], Entity["Country", "Russia"], Entity["Country", "Ukraine"]};
yearRange = Range[1959, 2005];data = Table[MortalityData[<|"Age" -> Quantity[0, "Years"], "Gender" -> "Any", "Year" -> i, "Country" -> #|>, "LifeExpectancy"]& /@ countries, {i, yearRange}];ListPlot[Transpose[{yearRange, #}]& /@ Transpose[data], Joined -> True, FrameLabel -> {"", "life expectancy"}, Frame -> True, Axes -> False, PlotLegends -> countries]仮定の上での生涯を通し,歴史的なデータに基づいた年ごとの死亡確率を調べる:
data = Table[{1935 + i, MortalityData[<|"Age" -> Quantity[i, "Years"], "Gender" -> "Male", "Year" -> (1935 + i)|>, "DeathProbabilityBefore"]}, {i, 0, 70}];data1935 = Transpose[{Range[1935, 2005], MortalityData[<|"Age" -> Quantity[Range[0, 70], "Years"], "Gender" -> "Male", "Year" -> 1935|>, "DeathProbabilityBefore"]}];
data2005 = Transpose[{Range[1935, 2005], MortalityData[<|"Age" -> Quantity[Range[0, 70], "Years"], "Gender" -> "Male", "Year" -> 2005|>, "DeathProbabilityBefore"]}];ListPlot[{data, data1935, data2005}, Joined -> True, FrameLabel -> {"", "probability of death"}, PlotLegends -> {"by year", 1935, 2005}, Frame -> True, Axes -> False]deathrates = MortalityData[<|"Age" -> Quantity[Range[0, 110], "Years"], "Gender" -> "Male"|>, "DeathRate"];
data = Transpose[{Range[0., 110.], QuantityMagnitude[deathrates]}];gompertz = PDF[GompertzMakehamDistribution[0.001a, 0.1b], t];
sol1 = FindFit[data[[41 ;; 80]], gompertz, {a, b}, t]gompertzmakeham = PDF[GompertzMakehamDistribution[0.01a, 0.01b, 0.01c, 0.01d], t];
sol2 = FindFit[data[[41 ;; 80]], gompertzmakeham, {a, b, c, d}, t]logistic = PDF[LogisticDistribution[0.1a, 0.1b], t];
sol3 = FindFit[data[[41 ;; 80]], logistic, {a, b}, t]Show[LogPlot[{gompertz /. sol1, gompertzmakeham /. sol2, logistic /. sol3}, {t, 40, 80}, PlotStyle -> {Red, Green, Purple}, PlotLegends -> {"Gompertz", "Gompertz-Makeham", "Logistic"}], ListLogPlot[data]]アメリカ合衆国の年齢分布を調べ,死亡確率を使って5歳から85歳までの各年齢で各年に何人死ぬかを推定する:
agepops = EntityValue[Entity["Country", "UnitedStates"], Table[EntityProperty["Country", "Population", {"Gender" -> "Male", "Age" -> Quantity[i, "Years"]}], {i, 5, 85}]];deathprobability = MortalityData[<|"Age" -> Quantity[Range[5, 85], "Years"], "Gender" -> "Male"|>, "DeathProbabilityBefore"];dyingbyage = Table[{Quantity[i + 4, "Years"], QuantityMagnitude[deathprobability[[i]]] * agepops[[i]]}, {i, Length[agepops]}];ListLinePlot[dyingbyage, AxesLabel -> {"year of age", "number of deaths"}]Total[dyingbyage[[All, 2]]]関連するガイド
-
▪
- 保険数理計算 ▪
- 生命科学と医学のデータと計算
テキスト
Wolfram Research (2015), MortalityData, Wolfram言語関数, https://reference.wolfram.com/language/ref/MortalityData.html (2016年に更新).
CMS
Wolfram Language. 2015. "MortalityData." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2016. https://reference.wolfram.com/language/ref/MortalityData.html.
APA
Wolfram Language. (2015). MortalityData. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/MortalityData.html
BibTeX
@misc{reference.wolfram_2026_mortalitydata, author="Wolfram Research", title="{MortalityData}", year="2016", howpublished="\url{https://reference.wolfram.com/language/ref/MortalityData.html}", note=[Accessed: 28-October-2026]}
BibLaTeX
@online{reference.wolfram_2026_mortalitydata, organization={Wolfram Research}, title={MortalityData}, year={2016}, url={https://reference.wolfram.com/language/ref/MortalityData.html}, note=[Accessed: 28-October-2026]}