I'm attempting to estimate a person's annual spending on healthcare based on their household income and age.

Given the following data from the Consumer Expenditures Survey:

Healthcare Spending (Average)
Healthcare Spending (by Household Income)
$0–49K     $3,411
$50–99K    $5,151
$100–149K  $6,836
$150–199K  $7,664
$200+K     $9,031
Healthcare Spending (by Respondent Age)
0–24   $1,206
25–44  $3,072
45–64  $5,450
65+    $6,802       

It seems fairly easy to do the following:

  • If I know a person's household income is $85,000 I can estimate their annual healthcare spending at $5,151.

  • If I know a person's age is 42 I can estimate their annual healthcare spending at $3,072.

But if I knew both of those facts, how would I go about estimate their spending using both breakdowns at once? Ensuring that I'm not accidentally "double counting" the impact if the two variables are not fully independent.

I also happen to know the average household incomes for each age group, and the average age for each income group.

Household Income (by Respondent Age)
0–24   $32,268
25–44  $74,082
45–64  $98,538
65+    $51,624
Respondent Age (by Household Income)
$0–49K     54.0
$50–99K    48.6
$100–149K  47.9
$150–199K  48.8
$200+K     49.7

I figure those two will be involved to determine how co-dependent the two variables are. But I'm not sure how to detangle them.


It depends on a lot of different thing. How much data and what kind of data do you have? If you have a bunch of data points of the form (income, age, spending) then I suspect that a straightforward multiple linear regression should work. If you believe there are interaction terms, you can try adding some additional explanatory variables by transforming the data; e.g. map each (income, age, spending) to (income, age, income * age, spending), or even (income, age, income / age, spending).

If you have a sufficiently large dataset, for the best accuracy, I would recommend using a neural network as these tend to learn the optimal representations of data. If these perform poorly, try random forest models. At the end of the day, the only way to see which model works best is to split the data into training and testing sets, and then see which model has the best test performance.


Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.