turn on suggestions

Auto-suggest helps you quickly narrow down your search results by suggesting possible matches as you type.

Showing results for

Find a Community

- Home
- /
- Analytics
- /
- Stat Procs
- /
- Using NLIN (or similar regression PROC) with measu...

Topic Options

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-30-2012 02:14 AM

Hello, I would like to fit a complicated function: I used up to now NLIN

PROC NLIN DATA=DatSortK OUTEST=FitParam25;

parms beta0 = 95.0 to 99.0 by 1.0 beta1 = -5 to 0 by 1 beta2 = -0.01 to 0.01 by 0.01 ea = 10 to 100 by 10;

model Y = beta0 + (beta1 + beta2 * month) * month * EXP(ea/0.00199*(1/273-1/tempK));

OUTPUT OUT = FitValues25 P=P L95M=L95M U95M=U95M L95=L95 U95=U95 PARMS=beta0 beta1 beta2 R=R STDR=STDR;

RUN;

works fine.

My question: I know the measurement errors. They are about SD=0.5, So I would like to weight with 1/var = 1/0.25=4.

When I add the line _WEIGHT_ = 4, the sum of quares are changed: o.k.

The uncertainties of the fitted parameters do not change: I conclude that _WEIGHT_ gives the points a weight of 4,

but it does not change the measurement uncertainties, aht I intended.

Any idea?

(I think PROC REG with WEIGHT would do, but there I cannot apply such a complicated function?

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-30-2012 07:33 AM

You may want to look at PROC NLMIXED. You would specify the model similarly, but include a term for the measurement error. Take a look at exaomple 63.1 in the NLMIXED documentation, where a one-compartment model for PK data is fit. I think you could easily gin up your NLIN code to accommodate the measurement error.

Steve Denham

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-30-2012 08:47 AM

Thank, I trid with a trivil example,

DATA DatOrg;

INPUT x y;

CARDS;

1 3

1 5

2 2

2 6

3 5

3 3

4 6

4 2

5 5

5 3

6 2

6 6

7 3

7 5

;

RUN;

sort and followed by

PROC NLIN DATA=DatSort;

parms beta0 = 5.5 beta1 = 1.1;

model y = beta0 + beta1 * x;

RUN;

PROC NLMIXED DATA=DatSort;

parms beta0 = 5.5 beta1 = 1.1 ;

pred = beta0 + beta1 * x;

w = 1;

model y ~ normal(pred,w);

RUN;

outputs are different in the error, probably fit result

Approx

Parameter Estimate Std Error Approximate 95% Confidence Limits

beta0 4.0000 0.9759 1.8737 6.1263

beta1 8.88E-16 0.2182 -0.4755 0.4755

Standard

Parameter Estimate Error DF t Value Pr > |t| Alpha Lower Upper Gradient

beta0 4.0000 0.5976 14 6.69 <.0001 0.05 2.7182 5.2818 5.55E-12

beta1 7.89E-14 0.1336 14 0.00 1.0000 0.05 -0.2866 0.2866 2.66E-11

- Mark as New
- Bookmark
- Subscribe
- Subscribe to RSS Feed
- Highlight
- Email to a Friend
- Report Inappropriate Content

05-30-2012 09:19 AM

It has to be different: the mean square error from NLIN is 2.6667.

If this was the weight, the std errors in NLIN should be correct: and they are.

With w=2.6667 in NLMIXED as an input, the results agree with NLIN!

Problem SOLVED: Thanks a lot to SteveDenham!

P.S. In NLMIXED it seem not so easy to get the confidence bands, which are easily accessible in NLIN by

OUTPUT OUT = FitValues25 P=P L95M=L95M U95M=U95M L95=L95 U95=U95 PARMS=beta0 beta1 beta2 R=R

...still trying.