## Formulas to calculate sample size [Power / Sample Size]

Hi BE-proff,

» Can anybody share formula of formulas set for relevant calculations?

This is a great challenge you awarded yourself.

Sample size calculation is not a set of deterministic equations (yet?!?), but usually involve integrals.

For a start try and look at Potvin's paper.

Here you'll find a very decent approximation which is based on the central t test. This provides the "exact" solution when the expected match is 100% and it is a very decent* approximation in most other relevant case whenever desired power is above the magical 80%. Perhaps you can start there and then make it more complicated and exact once you get into it?

Here's how I would approach it (and I am assuming you are not relying on external libraries**):

1. Make a function for the density of central t at any level of df.

2. Make a function that can integrate it, from minus infinity to some arbitrary value x.

3. Make a function that can find the critical value of the central t for an arbitrary p-level between 0 and 1. This one may be a little tricky if you write it from scratch but you can find inspiration by googling Russel Lenth's ASA243 Al Gore Rhythm. I imagine you can also find some py code on the www but I am not certain about it.

With those three at hand you can reproduce power.TOST sand sampleN.TOST values using the central t approximation by insertion into the equation from Potvin. You may be able to find a way to import and use gsl or similar libraries in python, then it is simply a matter of calling some functions. Can't help with the implementation of it as I don't do python.

Next, if you are hardcore you can look into noncentral t and Owen's Q. If you can write the framework above then you have all the skill at hand to also do this last step.

This will give you the opportunity to get anything power.TOST does.

Happy coding. Interested to hear of your further achievements, so please keep me posted.

* I am sure the BE police will spank me for saying so but I am willing to defend my words.

** I am also willing to at least

» Can anybody share formula of formulas set for relevant calculations?

This is a great challenge you awarded yourself.

Sample size calculation is not a set of deterministic equations (yet?!?), but usually involve integrals.

For a start try and look at Potvin's paper.

Here you'll find a very decent approximation which is based on the central t test. This provides the "exact" solution when the expected match is 100% and it is a very decent* approximation in most other relevant case whenever desired power is above the magical 80%. Perhaps you can start there and then make it more complicated and exact once you get into it?

Here's how I would approach it (and I am assuming you are not relying on external libraries**):

1. Make a function for the density of central t at any level of df.

2. Make a function that can integrate it, from minus infinity to some arbitrary value x.

3. Make a function that can find the critical value of the central t for an arbitrary p-level between 0 and 1. This one may be a little tricky if you write it from scratch but you can find inspiration by googling Russel Lenth's ASA243 Al Gore Rhythm. I imagine you can also find some py code on the www but I am not certain about it.

With those three at hand you can reproduce power.TOST sand sampleN.TOST values using the central t approximation by insertion into the equation from Potvin. You may be able to find a way to import and use gsl or similar libraries in python, then it is simply a matter of calling some functions. Can't help with the implementation of it as I don't do python.

Next, if you are hardcore you can look into noncentral t and Owen's Q. If you can write the framework above then you have all the skill at hand to also do this last step.

This will give you the opportunity to get anything power.TOST does.

Happy coding. Interested to hear of your further achievements, so please keep me posted.

* I am sure the BE police will spank me for saying so but I am willing to defend my words.

** I am also willing to at least

*read*posts asking why someone would want to reinvent the wheel.—

Best regards,

ElMaestro

“(...) targeted cancer therapies will benefit fewer than 2 percent of the cancer patients they’re aimed at. That reality is often lost on consumers, who are being fed a steady diet of winning anecdotes about miracle cures.” New York Times (ed.), June 9, 2018.

` if (3) 4 `

x=c("Foo", "Bar")

b=data.frame(x)

typeof(b[,1]) ##aha, integer?

b[,1]+1 ##then let me add 1

Best regards,

ElMaestro

“(...) targeted cancer therapies will benefit fewer than 2 percent of the cancer patients they’re aimed at. That reality is often lost on consumers, who are being fed a steady diet of winning anecdotes about miracle cures.” New York Times (ed.), June 9, 2018.

### Complete thread:

- Formulas to calculate sample size BE-proff 2019-02-04 12:12 [Power / Sample Size]
- Formulas to calculate sample size ElMaestro 2019-02-04 13:27
- Formulas to calculate sample size BE-proff 2019-02-04 13:43
- Hey, python is not so difficult :p ElMaestro 2019-02-04 17:17
- experiments with a function optimization ElMaestro 2019-02-04 22:31
- experiments with a function optimization BE-proff 2019-02-05 07:19

- Formulas to calculate sample size BE-proff 2019-02-04 13:43

- Formulas to calculate sample size ElMaestro 2019-02-04 13:27