LoginSignup
ryota0000
@ryota0000

Are you sure you want to delete the question?

If your question is resolved, you may close it.

Leaving a resolved question undeleted may help others!

We hope you find it useful!

ウィルコクソンの順位符号検定のしたいです。

pythons初心者です。

ウィルコクソンの順位符号検定を自分なりに調べて行ってみたのですが、同じ値ばかり出てしまい値が間違っていそうです。
またいまいち正しい方法でやれていると思えません。
このコード、やり方は間違っているのでしょうか。
間違っていれば解決策を教えてください。

やりたいこと

2つの列同士(例:A1とA2)で有意差があるのかを調べたいです。

コード(余計なimportも含まれています)

import

import numpy as np
import numpy.random as random
import scipy as sp
import pandas as pd
from pandas import Series,DataFrame
from scipy import stats

import matplotlib.pyplot as plt
import matplotlib as mpl
import seaborn as sns

csvファイルの読み込み

df=pd.read_csv("rankrank.csv",sep=",",engine="python")

csvファイル出力

df

検定実行

stats.wilcoxon(df["①"], df["②"]) ※①②にはそれぞれ対応する列名が入ります(例:A1,A2)

画像はcsvファイルと検定の出力結果です(列名A1が文字化けしているのは気にしないでください)質問3.PNG質問4.PNG

よろしくお願いします。

0

1Answer

私もPython、統計初心者です。
おそらくコードはあっている気がします。
ご存知でしたら申し訳ないですがウィルコクソンは順位で検定するので、一つ一つの値を用いていません。そのため、statisticやpvalueの値が別の2群間同士で同じ値が出てしまうこともあり得ると思います。
検定にかけてるのはランダムで生成されたデータセットですよね?そうでしたら有意差が出なくてもおかしくないはずです。

ExcelやR、JMPなどでも同じ検定ができるので同じcsvデータで試してみてはいかがでしょうか。
もし的外れなことを言っていたら申し訳ないです。

0

Your answer might help someone💌