You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何基于24年发病数据计算至少一次心脏病发作的年概率?

Calculating Annual Probability of At Least One Heart Attack from 24-Year Incidence Data

Great question! Let’s walk through how to convert the given 24-year cumulative incidence rates into annual probabilities for each group.

Key Assumption

First, we’ll assume the annual risk of a heart attack is constant over the 24-year period (this is a standard simplification for these types of calculations; in reality, risk might increase with age, but this gives us a reasonable baseline annual estimate).

Step-by-Step Method

Let’s define:

  • C = cumulative number of heart attacks per 1000 people over 24 years
  • P_24 = probability of at least one heart attack in 24 years = C / 1000
  • q = annual probability of not having a heart attack
  • p = annual probability of at least one heart attack = 1 - q

The probability of never having a heart attack over 24 years is q^24 = 1 - P_24. Rearranging to solve for q:

q = (1 - P_24) ** (1/24)

Then subtract from 1 to get the annual risk p.

Calculations for Each Group

Group 1: 30-39 Males, Relative Weight 80-89

  • Cumulative incidence: 101 cases per 1000 people
  • P_24 = 101 / 1000 = 0.101
  • 1 - P_24 = 0.899
  • q = 0.899 ** (1/24) ≈ 0.9956
  • p = 1 - 0.9956 ≈ 0.0044 → ~0.44% annual probability (or ~4.4 cases per 1000 people per year)

Group 2: 30-39 Males, Relative Weight 100-199

  • Cumulative incidence: 89 cases per 1000 people
  • P_24 = 89 / 1000 = 0.089
  • 1 - P_24 = 0.911
  • q = 0.911 ** (1/24) ≈ 0.9961
  • p = 1 - 0.9961 ≈ 0.0039 → ~0.39% annual probability (or ~3.9 cases per 1000 people per year)

Python Code to Compute This

If you want to replicate these numbers or adjust for other groups, here's a quick function:

def cumulative_to_annual(cumulative_cases_per_1000, years):
    p_cumulative = cumulative_cases_per_1000 / 1000
    q_annual = (1 - p_cumulative) ** (1/years)
    p_annual = 1 - q_annual
    return p_annual * 100  # Return as percentage

# Test the groups
group1 = cumulative_to_annual(101, 24)
group2 = cumulative_to_annual(89, 24)

print(f"Group 1 annual probability: {group1:.2f}%")  # ~0.44%
print(f"Group 2 annual probability: {group2:.2f}%")  # ~0.39%

Notes on Limitations

Keep in mind this assumes constant annual risk, which might not hold true in practice (e.g., risk could rise as individuals age over the 24-year span). But this method provides a straightforward, widely used estimate for converting cumulative incidence to annual risk.

内容的提问来源于stack exchange,提问作者ipacpc

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:56:45