Solved
Contributor
Posts: 51

# regression with separate coefficients for postitive and negative values

Hi everyone,

I want to run regression a on b. However, I want to have separate coefficients for b+ (positive b) and b- (negative b).

Model is  a = alpha + beta1*abs(b+) + beta2*abs(b-)

Thank you so much,

Accepted Solutions
Solution
‎07-28-2014 02:40 PM
Posts: 5,535

## Re: regression with separate coefficients for postitive and negative values

Use BY processing:

data test;

set myData;

absB = abs(b);

signB = b >= 0; /* Consider zero positive */

run;

proc sort data=test; by company_ID; run;

proc glm data=test;

by company_ID;

class signB;

/* Same intercept */

model a = absB*signB / solution;

run;

PG

PG

All Replies
Posts: 5,535

## Re: regression with separate coefficients for postitive and negative values

Something like this:

data test;

set myData;

absB = abs(b);

signB = b >= 0; /* Consider zero positive */

run;

proc glm data=test;

class signB;

/* Same intercept */

model a = absB*signB / solution;

run;

PG

PG
Contributor
Posts: 51

## Re: regression with separate coefficients for postitive and negative values

Hi PGStats,

In the case that I want to run this regression for each company (company_ID), how cai I modify the code?

Thank you so much,

Solution
‎07-28-2014 02:40 PM
Posts: 5,535

## Re: regression with separate coefficients for postitive and negative values

Use BY processing:

data test;

set myData;

absB = abs(b);

signB = b >= 0; /* Consider zero positive */

run;

proc sort data=test; by company_ID; run;

proc glm data=test;

by company_ID;

class signB;

/* Same intercept */

model a = absB*signB / solution;

run;

PG

PG
Contributor
Posts: 51

## Re: regression with separate coefficients for postitive and negative values

Hi PGstats,

Thank you so much for your help,

🔒 This topic is solved and locked.