ワイの勤め先(零細IT)、データから平均から外れた値を検出するだけのソフトを開発www

1: 風吹けば名無し 2018/05/11(金) 19:12:36.50 ID:WpxMorzZa
誰が買うねんこれ

1ライセンス14万で売るらしい

258: 風吹けば名無し 2018/05/11(金) 19:44:33.69 ID:glqBnsQq0
>>1
そもそも1ライセンスの考え方が分からん
1企業1ライセンスなら絶望的に儲からんやろ

271: 風吹けば名無し 2018/05/11(金) 19:45:58.17 ID:ifWdofI/0
>>258
導入数やろ
君んとこはエクセル1ライセンスで使い回すんか

293: 風吹けば名無し 2018/05/11(金) 19:47:33.52 ID:glqBnsQq0
>>271
エクセルは上から下まで全社員が使うけど
ビッグデータ分析なんて専門部署でごく限られた人間が行うだけやで
比較対象としておかしい

315: 風吹けば名無し 2018/05/11(金) 19:50:12.06 ID:ifWdofI/0
>>293
いやエクセルと比較したいわけやなくて‥

322: 風吹けば名無し 2018/05/11(金) 19:50:49.75 ID:glqBnsQq0
>>315
ならなんでエクセルの名前出したんや
アホちゃうか?

332: 風吹けば名無し 2018/05/11(金) 19:52:03.18 ID:ifWdofI/0
>>322
1企業1ライセンスとかバカなこと言っとるから
身近であろうエクセル出しただけや

349: 風吹けば名無し 2018/05/11(金) 19:54:12.93 ID:glqBnsQq0
>>332
それで突っ込まれてるんだからお前馬鹿丸出しやんけ
ビッグデータ分析なんてコンプライアンス度外視すれば
1アカウントで事足りるやで

364: 風吹けば名無し 2018/05/11(金) 19:55:44.13 ID:ifWdofI/0
>>349
ツッコミってビッグデータビッグデータ言っとる妄想のことけ?
ハードの導入数なんてわからんやろ

380: 風吹けば名無し 2018/05/11(金) 19:57:30.64 ID:ifWdofI/0
>>369
誰がエクセルレベルで導入するとかアホなこと言ってるんですかね

328: 風吹けば名無し 2018/05/11(金) 19:51:20.18 ID:9dIW15usd
>>1
ええ…これで終わりやん…

for(i<n;i++){
sum=sum+data[i]
}
avg=sum/n

for(i<n;i++){
if(avg-data[i]>>0.1){
print i
}
}

339: 風吹けば名無し 2018/05/11(金) 19:52:29.98 ID:kA4bnpO10
>>328
統計エアプか?

344: 風吹けば名無し 2018/05/11(金) 19:53:19.52 ID:hyXjoPbX0
>>328
0.1という数字はどこから来たんや?そこも変数にしろや

345: 風吹けば名無し 2018/05/11(金) 19:53:20.47 ID:nERDd7AF0
>>328
たぶんだけど平均から引いたのを絶対値にする処理がいるで

353: 風吹けば名無し 2018/05/11(金) 19:54:28.37 ID:hyXjoPbX0
>>345
それ自体は絶対値の関数噛ませるか二乗するかすればええだけやから何の工夫もいらんな

354: 風吹けば名無し 2018/05/11(金) 19:54:31.73 ID:V8zcPcLn0
>>345
俺も引いた

351: 風吹けば名無し 2018/05/11(金) 19:54:20.65 ID:tLjqkuGLa
>>328
https://sites.google.com/site/scriptofbioinformatics/mian-qiangmemo/waire-zhi-jian-chu-zhi-shi
マジレスすると中身次第や
そんなもので済むケースもあればそうでないのもある
乱数発生器なんかもアルゴリズム次第じゃ単価100万超えとかザラやで

411: 風吹けば名無し 2018/05/11(金) 20:01:15.11 ID:X6TtLSb50
>>328
メモリ確保できなさそう

425: 風吹けば名無し 2018/05/11(金) 20:02:53.36 ID:Ky4bUn980
>>328
pythonならnumpyとか入れなくもmapやfilter使えば5行くらいで終わりそう

468: 風吹けば名無し 2018/05/11(金) 20:09:38.99 ID:eR/pTZzh0
>>425
1行やぞ

print([x for x in filter(lambda x:x>abs(average(data)) + threshold, data)])

430: 風吹けば名無し 2018/05/11(金) 20:03:27.50 ID:xsgCakre0
>>328
これもし絶対値使ってたとしても
100個の1.0の中に1個だけ99.9とかが混ざってたらavg≒2で全部外れ値やな

439: 風吹けば名無し 2018/05/11(金) 20:04:46.32 ID:nERDd7AF0
>>430
これ大問題だよな
エラーの値とかも外すようにせんとな

443: 風吹けば名無し 2018/05/11(金) 20:05:46.97 ID:hyXjoPbX0
>>430
それ平均やなくて中央値使えって話やん
でもイッチはスレタイで平均って言ってるから平均がおかしいなら別にええんちゃう?

445: 風吹けば名無し 2018/05/11(金) 20:06:05.24 ID:nERDd7AF0
>>430
これどうやって回避するの?

476: 風吹けば名無し 2018/05/11(金) 20:10:52.07 ID:hyXjoPbX0
>>445
外れ値を大きい順にはじいてその度に平均値を外れ値を除く平均に更新すればええんちゃう?

平均値=(平均値-(外れ値/n))*n/(n-1)

を外れ値出すたびにやればええやん

494: 風吹けば名無し 2018/05/11(金) 20:13:29.01 ID:nERDd7AF0
>>476
端っこを切って平均出すってことだと思うけど
どのへんまで端っこ切ったら良いんだろ

503: 風吹けば名無し 2018/05/11(金) 20:15:03.74 ID:hyXjoPbX0
>>494
いやだからそれは>>4に書いてあるやん
ユーザーが「どれくらい外れたらアウト」かを入力するんやから

513: 風吹けば名無し 2018/05/11(金) 20:16:47.24 ID:nERDd7AF0
>>503
いや外れ値じゃなくて平均を歪ませる異常値をどれくらい除外したら良いんだろ
って話やで

542: 風吹けば名無し 2018/05/11(金) 20:20:51.28 ID:hyXjoPbX0
>>513
外れ値を弾いて平均出せばよくね?

例えば平均プラスマイナス0.1を外れ値の閾値にしたとするやん
そしたらまず全体で平均出す
そんでその平均から一番外れてるやつが閾値超えてるか見る
超えてたらそいつ外れ値

次にそいつを除いた残りの値で新しい平均出す
そんでその新しい平均から一番外れてるやつが閾値超えてるか見る
超えてたらそいつも外れ値

後はこれを繰り返して閾値超えるやつがなくなるまでやる

550: 風吹けば名無し 2018/05/11(金) 20:22:16.49 ID:I1Oq+99td
>>542
理論上はそれで良さそうやな
ただ毎回平均を出し直すのは計算量が増えすぎるから求められる速度次第やな

562: 風吹けば名無し 2018/05/11(金) 20:24:33.15 ID:nERDd7AF0
>>550
現場で要求される速度とか考えたら
精度と速度のバランスを考えてプログラム作らなあかんな

こういうこと考えてたら14万ってのも高くないのかもしれんな
勉強になったわ

571: 風吹けば名無し 2018/05/11(金) 20:26:21.98 ID:hyXjoPbX0
>>550
外れ値除いた平均は>>476で簡単に計算できると思うけど

581: 風吹けば名無し 2018/05/11(金) 20:29:08.55 ID:JHjMmDRrd
>>571
なるほど
元の平均から外れ値の分を引いたれば新平均出せるやろってアイデアやな
多分正しい気がする
でも割り算が多すぎるのはやっぱり速度的な難点があると思うで?

567: 風吹けば名無し 2018/05/11(金) 20:25:11.31 ID:JHjMmDRrd
>>542
それを効率よくやるアルゴリズムあればええんやが

436: 風吹けば名無し 2018/05/11(金) 20:04:12.35 ID:I1Oq+99td
>>328
for(i<n;i++){
sum=sum+data[i]
}
avg=sum/n

これやと合計値の計算でオーバーフローするぞ
だから

for(i<n;i++){
avg=avg+data[i]/n
}

とするんやぞ

450: 風吹けば名無し 2018/05/11(金) 20:07:09.57 ID:1LGAGs7Op
>>436
除算を毎ループ実行するとかいかんでしょ

http://hawk.5ch.net/test/read.cgi/livejupiter/1526033556/

シェアする

  • このエントリーをはてなブックマークに追加

フォローする