王富民awaw: Very nice.

The Levene function, though, is confusingly named. The Levene test is 
distinct from the Brown-Forsthe test, so mixing up the names
seems odd.[1]

[1] 
quoting 
https://www.statisticshowto.com/brown-forsythe-test/#:~:text=The%20Levene%20test%20uses%20deviations,a%20test%20that's%20more%20robust.
  
below: (see the underlined sentence, underline and bold there is mine)

How the Test Works

Both the Levene and B-F tests transform dependent variables 
<https://www.statisticshowto.com/dependent-variable-definition/> for use in 
an ANOVA  
<https://www.statisticshowto.com/probability-and-statistics/hypothesis-testing/anova/>test.
 
The only difference between the two tests is in how those transformed 
variables are constructed. The Levene test uses deviations from group means 
<https://www.statisticshowto.com/mean/>, which usually results in a 
highly-skewed set of data; This violates the assumption of normality 
<https://www.statisticshowto.com/assumption-of-normality-test/>.* The 
Brown-Forsythe test attempts to correct for this skewness  
<https://www.statisticshowto.com/probability-and-statistics/descriptive-statistics/skewness/>by
 
using deviations from group medians 
<https://www.statisticshowto.com/probability-and-statistics/statistics-definitions/mean-median-mode/#median>.*
 
The result is a test that’s more robust 
<https://www.statisticshowto.com/robust-statistics/>. In other words, the 
B-F test is less likely than the Levene test to incorrectly declare that 
the assumption of equal variances has been violated.

The test works as follows:

   - The median is calculated for each factor level group.
   - The median value is subtracted from each dependent variable in the 
   group.
   - An ANOVA 
   
<https://www.statisticshowto.com/probability-and-statistics/hypothesis-testing/anova/>
 is 
   run with the transformed variables. If a factor’s p-value 
   
<https://www.statisticshowto.com/probability-and-statistics/statistics-definitions/p-value/>
 is 
   less than the significance level 
   
<https://www.statisticshowto.com/probability-and-statistics/statistics-definitions/what-is-an-alpha-level/>
 (usually 
   5%), the population variances are not equal.

W or F statistic?

The test statistic used in a regular ANOVA is an F-statistic 
<https://www.statisticshowto.com/probability-and-statistics/f-statistic-value-test/>.
 
The statistic used in an ANOVA with transformed variables is sometimes 
called a W-Statistic — but it’s really just an F-Statistic with a different 
name. It should not be confused with the coefficient of concordance 
W-statistic 
<https://www.statisticshowto.com/concordance-correlation-coefficient/>, 
which is used to assess agreement between raters.
Cautions

For the most part, the B-F test is thought to perform as well as or better 
than other available tests for equal variances. However, Glass and Hopkins 
(1996 p. 436) state that the Levene and B-F tests are “fatally flawed”; It 
isn’t clear how robust they are when there is significant differences in 
variances and unequal sample sizes. Hill et. al (2006) advise repeating the 
test using a non-parametric 
<https://www.statisticshowto.com/probability-and-statistics/statistics-definitions/parametric-and-non-parametric-data/>
 method.

On Monday, October 30, 2023 at 1:08:19 AM UTC 王富民awaw wrote:

> Hi Jan,  Martin, and Jason
>
> Thanks for your tips and encouragement for rolling our sleeves.
> I have put together a small statistics library:
>
> stat package - github.com/fumin/stat - Go Packages 
> <https://pkg.go.dev/github.com/fumin/stat>
>
> For my own needs, in addition to Brown-Forsythe, I also needed the Welch 
> t-test and tools for multiple testing, so these are what's in the above 
> package.
>
> On Monday, 30 October 2023 at 07:25:50 UTC+8 Jason E. Aten wrote:
>
>> For the ANOVA, I usually just call from Go into R for such things -- at 
>> least until I 
>> can validate if its the right thing to do/ meets the sensitivity/power 
>> needs of the analysis.
>>
>> https://statsandr.com/blog/anova-in-r/
>>
>>
>> https://github.com/glycerine/rmq#and-the-reverse-embedding-r-inside-your-golang-program
>>
>>
>> On Wednesday, October 25, 2023 at 6:48:56 AM UTC+1 Jan wrote:
>>
>>> So cool!
>>> On Monday, October 23, 2023 at 5:44:29 PM UTC+2 Martin Schnabel wrote:
>>>
>>>> Hi, 
>>>>
>>>> I attempted to translate the linked JS implementation for fun. Maybe 
>>>> someone can use it as a starting point and correct or verify its 
>>>> correctness. 
>>>>
>>>> https://go.dev/play/p/Wrw2yDRof0z 
>>>>
>>>> Have fun! 
>>>>
>>>> On 10/23/23 07:38, Jan wrote: 
>>>> > hi, I did a quick search and I didn't find anything in Go. But 
>>>> looking 
>>>> > at the definition and at one implementation in JS 
>>>> > <
>>>> https://github.com/lukem512/brown-forsythe-test/blob/master/src/brown-forsythe.js>,
>>>>  
>>>> it sounds something relatively easy to write and share :)  You can use the 
>>>> R implementation to create some test datasets. Maybe gonum/stat <
>>>> https://godocs.io/gonum.org/v1/gonum/stat> would be a potential home 
>>>> for such a function ? What do you think ? 
>>>> > 
>>>> > cheers 
>>>> > On Friday, October 20, 2023 at 10:54:55 AM UTC+2 王富民awaw wrote: 
>>>> > 
>>>> > Hi follow Gophers 
>>>> > 
>>>> > I wonder is there a canonical, verifiably correct Go package for 
>>>> > statistics? 
>>>> > In particular, Go code that does the Brown-Forsythe test of equal 
>>>> > variance. 
>>>> > Ideally in pure Go, but linking with CGo is OK. 
>>>> > 
>>>> > A search on Google and pkg.go.dev <http://pkg.go.dev> does not 
>>>> > return helpful results. 
>>>> > I wonder is there anything that the community could share? 
>>>> > 
>>>> > -- 
>>>> > You received this message because you are subscribed to the Google 
>>>> > Groups "golang-nuts" group. 
>>>> > To unsubscribe from this group and stop receiving emails from it, 
>>>> send 
>>>> > an email to golang-nuts...@googlegroups.com 
>>>> > <mailto:golang-nuts...@googlegroups.com>. 
>>>> > To view this discussion on the web visit 
>>>> > 
>>>> https://groups.google.com/d/msgid/golang-nuts/7ee10c0f-8af6-4b31-baaf-ce2ccb9c0211n%40googlegroups.com
>>>>  
>>>> <
>>>> https://groups.google.com/d/msgid/golang-nuts/7ee10c0f-8af6-4b31-baaf-ce2ccb9c0211n%40googlegroups.com?utm_medium=email&utm_source=footer>.
>>>>  
>>>>
>>>>
>>>

-- 
You received this message because you are subscribed to the Google Groups 
"golang-nuts" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to golang-nuts+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/golang-nuts/1ab79e74-d780-49b9-b5e3-6d56dece97acn%40googlegroups.com.

Reply via email to