Turn on suggestions

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

Showing results for

- Home
- /
- Programming
- /
- SAS Procedures
- /
- Formula calculation

Options

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

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Posted 03-24-2018 06:08 PM
(1017 views)

Hi,

Can anyone help the calculation of Y below using SAS code?

Y=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-N}

Thanks a lot!

11 REPLIES 11

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Within a DATA step, and assuming you have variables A, B, and N:

y=0;

do k=1 to n;

y + a*b**(-k);

end;

If B is actually an expression rather than a variable, put it in parentheses:

y + a*(b)**(-k);

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Or this, which should be faster:

```
u = 0;
v = 1/b;
do k = 1 to n;
u = (1 + u) * v;
end;
y = a*u;
```

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks for you both for providing the answer, much appreciated! PG Stats, since the power is negative, should the sas code be revised?

as u = 0;

v = 1/b;

do k = -1 to -n; u = (1 + u) * v; end;

y = a*u;

Thanks and regards.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

No. k is only a counter, not the exponent. The exponent comes from the number of multiplications by v (= 1/b, = b**-1), i.e. the negative exponent results from multiplying by a negative power of b.

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks again, PG Stats!!

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks! How about if N has one decimal place, e.g. 14.1?

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

What is the first term in the equation if N has one decimal place?

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

In the equation, everything is the same, only if N is not an integer, the example is below and I need to calculate for each record (Y_{1}........Y_{N})

Y_{1}=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-10.2}

Y_{2}=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-20.3}

^{…….}

Y_{N}=A*(B)-1+ A*(B)-2 + A*(B)-3 + A*(B)-4 +……+ A*(B)^{-N.5}

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Not clear. What is the term before the last?

PG

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

Thanks very much, PG!

the term before the last is: A*(B)^{-N+1 }

For example,

Y_{1}=A*(B)^{-1}+ A*(B)^{-2} + A*(B)^{-3} + A*(B)^{-4} +……+ A*(B)^{-9} +A*(B)^{-10.2}

When I run the above sas code, the decimal 0.2 from the last term is missing.

- Mark as New
- Bookmark
- Subscribe
- Mute
- RSS Feed
- Permalink
- Report Inappropriate Content

^{-9} , not 9.2.

Registration is open! SAS is returning to Vegas for an AI and analytics experience like no other! Whether you're an executive, manager, end user or SAS partner, SAS Innovate is designed for everyone on your team. Register for just $495 by 12/31/2023.

**If you are interested in speaking, there is still time to submit a session idea. More details are posted on the website. **

What is Bayesian Analysis?

Learn the difference between classical and Bayesian statistical approaches and see a few PROC examples to perform Bayesian analysis in this video.

Find more tutorials on the SAS Users YouTube channel.