BookmarkSubscribeRSS Feed
Hanyu
Fluorite | Level 6

I want to estimate a multiplicative error model. In the link below, there is a discussion about model of non-additive error term. In it, the manual says that when we have a non-additive error term, we should use:

proc model data=in;

  parms alpha beta;

  y = alpha * x ** beta;

  resid.y = log( actual.y / pred.y );

  fit y;

  run;

However, the log function cannot take value zero, which is the case when actual.y equals to zero. Is there any other way to estimate a non-additive error model with some zero actual values? Thank you in advance.

SAS/ETS(R) 9.22 User's Guide

3 REPLIES 3
SteveDenham
Jade | Level 19

The most used approach is to add a small increment to y, but the fit may well depend on the number of zeroes in the dataset and the size of the increment.  Some exploration, followed by model averaging once you find a stable region for the increment might work.

Steve Denham

Hanyu
Fluorite | Level 6

Thank you Steve. What is the criteria of stable region? Can you give me some reference about this issue?

SteveDenham
Jade | Level 19

No references, other than introductory texts, where the log transformation is discussed.

The criteria of a stable region would be when the parameter estimates no longer move more than 1e-3 (relatively) for a log unit change in the added constant part.  In other words, if you went from Y+1 to Y+0.1 as a way around the zeroes, and the largest relative change in any of the estimated model parameters was 1e-3 (larger estimate minus smaller estimate, and then divided by smaller estimate), then the estimates are stable with respect to the added constant.

Steve Denham

sas-innovate-2024.png

Available on demand!

Missed SAS Innovate Las Vegas? Watch all the action for free! View the keynotes, general sessions and 22 breakouts on demand.

 

Register now!

What is ANOVA?

ANOVA, or Analysis Of Variance, is used to compare the averages or means of two or more populations to better understand how they differ. Watch this tutorial for more.

Find more tutorials on the SAS Users YouTube channel.

Discussion stats
  • 3 replies
  • 1447 views
  • 3 likes
  • 2 in conversation