---
title: Padoc_presen5R
tags: 
author: [mabo](https://convert.docswell.com/user/mabonki0725)
site: [Docswell](https://www.docswell.com/)
thumbnail: https://bcdn.docswell.com/page/GEWDG9KZJ2.jpg?width=480
description: 前処理をDSのメイン作業としたデータ編集と分析ツール
published: May 07, 24
canonical: https://convert.docswell.com/s/mabonki0725/ZP9NRE-2024-05-07-084411
---
# Page. 1

![Page Image](https://bcdn.docswell.com/page/GEWDG9KZJ2.jpg)

前処理に重点おいた
Padocデータ分析環境
2023/03/20 mabo
1


# Page. 2

![Page Image](https://bcdn.docswell.com/page/47ZGL9ZLE3.jpg)

自己紹介と目次
• 自己紹介
中井眞人
20年以上ﾃﾞｰﾀｻｲｴﾝﾃｨｽﾄとして働く
• 所属
筑波大 博士課程
• 実績
1.債務者の与信モデル
2.倒産率の推移予測
3.全社的ポートフォリオ分析
4.営業員の不正検知
5.最適人員配置
6.自然言語での要因分析
1.
2.
3.
4.
5.
6.
7.
8.
9.
目的
データサイエンスの目的
データサイエンスの問題
データサイエンスの解決方法
Padoc分析環境の考え方
Padocの統合分析環境
Padocの機械学習モデル
Padocのイントール
Padocの事例
• 研究
1.VAEの潜在空間上の強化学習
2


# Page. 3

![Page Image](https://bcdn.docswell.com/page/YJ6YWKZM7V.jpg)

1.目的
• データサイエンス工程での前処理が労力の70～80%占る
• 主に前処理用のツールとしてPadocを提供
Padoc: Process and Analysis Data Optimization Circumstance
3


# Page. 4

![Page Image](https://bcdn.docswell.com/page/GJ5GMPWQJ4.jpg)

データサイエンスの目的(1)
• 今や生成モデルの時代・・だが
BERTのChatBot(自作) 黒橋研のLLMを使用（参照先:https://note.com/npaka/n/na8721fdc3e24)
Mt.Fuji in style Gogh
Whale in the sky
ｃat to dog
Stable Diffusion(自作：参照先 https://note.com/npaka/n/nd2b03d13a36a)
4


# Page. 5

![Page Image](https://bcdn.docswell.com/page/9E2Y96QWER.jpg)

データサイエンスの目的(2)
• データサイエンスの手法は古代から存在した
• 多くの知見を集めて問題解決する手法
①集める→②理解する→③選択する→④活かす→⑤評価される
司馬遷 史記 歴史の中の普遍性
徳川吉宗 日本に根付く薬草
5


# Page. 6

![Page Image](https://bcdn.docswell.com/page/D7YG49W97M.jpg)

2.データサイエンスの目的(3)
データサイエンスの目的
• 課題に関する集めたデータから発生メカニズムを推測し
解決方法をデータを使って実証的に示す
• 機械学習は推測された発生メカニズムのモデル化に過ぎない
機械学習のモデル（例）
• 判別分析
• 合理的配置や配分
• 需要予測
• 不正（異常）検知
• 推薦（穴埋）問題
データサイエンス
機械学習
6


# Page. 7

![Page Image](https://bcdn.docswell.com/page/VENGYL9DJ8.jpg)

データサイエンスの目的(4)
• 発想の転換
• 課題の発生メカニズムが不明の場合 （画像認識、最適問題は自明）
主役を「モデル」→「前処理」へ変更する
前処理
課題 課題データの
把握 収集と理解
モデル
感応分析で
変数
データを選択 加工
前処理：課題の発生メカニズムの推測
課題 データの収集 業務知識で
要因を推測
把握 と理解
要因の兆
候ﾃﾞｰﾀを
選択
後処理
モデル モデル評
構築
価保守
ﾓﾃﾞﾙ化
評価
モデル モデル評
価保守
構築
7
DS:①集める→②理解する→③選択する→④活かす→⑤評価される


# Page. 8

![Page Image](https://bcdn.docswell.com/page/Y79WP42873.jpg)

3.データサイエンスの問題(1)
• 前処理は発生メカニズムを推測する期間⇒70~80%を占める
• 発生メカニズムは業務知識で選択したデータと課題との感応分析
で絞り込み推測を繰返す
課題の発生メカニズム（要因）の推測
課題 データの収集
把握 と理解
業務知識で
要因を推測
要因の
兆候ﾃﾞｰ
ﾀを選択
ﾓﾃﾞﾙ化
評価
モデル モデル評
構築
価保守
8


# Page. 9

![Page Image](https://bcdn.docswell.com/page/G78NDQ5ZJD.jpg)

3.データサイエンスの問題(2)
• 業務データからは課題は一般に見えない
• 業務データは殆ど入出金・在庫の管理データで正確だが課題は見えない
• User側のデータ管理者から複雑な業務データの構造を理解
• User側の業務従事者から業務に沿って業務データの内容を理解
• DS側とUser側は共同で課題の発生メカニズムの仮説を立てる
DS側
User データ管理者
User 業務従事者
9


# Page. 10

![Page Image](https://bcdn.docswell.com/page/L7LPMXY1JR.jpg)

3.データサイエンスの問題(3)
• 業務データから発生メカニズムを示すデータの作成が容易でない
1. 課題の発生メカニズムが異なるとデータを分割する必要がある
2. 過去のデータが無い （解約先や破綻先は削除されている場合が多い）
3. 業務データが複雑過ぎて内容が理解できない（下記参照)
発生要因が異なる
別モデル
営業データ(例)
1営業員 2支店 3顧客
4契約 5商品 6売上
7納品 8遅延 9入出金
10取消訂正 11日報
12営業履歴 13信用情報
10


# Page. 11

![Page Image](https://bcdn.docswell.com/page/4EM4YLN5JW.jpg)

3.データサイエンスの問題(4)
• 作成モデルが将来の運用データに適合するか不明
モデル作成データでの精度は意味がない。運用後の精度が大事
• 運用データが変化する可能性がある
• 機械学習モデルの導入自体で運用データが変わる
• 業務の拡大やビジネスの見直しにより運用データが変化する
11


# Page. 12

![Page Image](https://bcdn.docswell.com/page/PERW9KDZJ9.jpg)

4.データサイエンスの解決方法
• 課題の発生メカニズムの推測にはDS側とUser側の協調が必要
• 将来の運用も考えるとUser側によるモデル調整が必要
• 現在はDS側とUser側で協調できる適切な分析環境が無い
• モデル作成言語PythonはUser側の理解し難い
• SQLでは分析が出来ない
DS側とUser側が協調できる分析環境をPadocが提供
DS側
User側
12


# Page. 13

![Page Image](https://bcdn.docswell.com/page/P7XPQL11JX.jpg)

5.Padoc分析環境の考え方
•
•
•
•
•
Padocはテーブル型データを扱う
テーブル型データの編集や結合は
コマンドで行う
課題と感応の強さの順にデータ表示
できる
分析と結果をUserとで確認できる
コマンドの並びでUserが理解と確認
ができる
get data1; //テーブル型データの読込
wrk = undate(today) - undate(birthday);
age = wrk/365.25;
//年齢の計算 データ編集コマンド
put data2;
get data2; //別のデータの読込
merge data2 by id //マージコマンド
put data3;
get data3;
cross target by age x1 x2 x3 x4 x5;
get data3;
reg target by x1-5 //分析コマンド
anaput out1;
Get out1
plot scat x1 x2 x3 by target;
13


# Page. 14

![Page Image](https://bcdn.docswell.com/page/37KD9L2MED.jpg)

6.PADOCの統合分析環境（操作）
データ編集と分析の統合環境
①
• コントロール画面①
• コマンドの編集②
• 反転部分だけ実行可能
実行アイコン
②
• 実行結果のログの表示③
• 実行結果のテーブル表示④
• 分析結果のPlot表示⑤
④
③
⑤


# Page. 15

![Page Image](https://bcdn.docswell.com/page/LJ3RW342E5.jpg)

６.PADOCの統合分析環境（機械学習モデル）
SVM
最短経路問題
ベイジアンネット
３Dの重回帰結果
ガウス構造(GGM)
Cox Hazard
共分散構造分析(SEM)
カーネル回帰
ガウス過程回帰


# Page. 16

![Page Image](https://bcdn.docswell.com/page/8JDYK4Q6JG.jpg)

8.PadocのInstall
download先のDirにある
readMe.htmlに従って
インストールする
instructYou.htmlは分析
事例の実行方法を示す
https://padoc.info/
16


# Page. 17

![Page Image](https://bcdn.docswell.com/page/VEP6KMGZ78.jpg)

7.Padocの記述例・人種問題の分析(1)
米国の銀行の人種と職種
に給与の差があるか調査
職種 １：行員 2:新人行員
3:警備 4:技術者 5:管理職
6:MBA 7:特殊
home pgm; //dataはprogramと同じDirにある
get banker.csv@;
/* 人種・職種の整数→コード型に変更*/
attr name type/
minority:code
jobcat:code
;
put bank;
get bank;
/* 人種・職種別に給与の平均を計算 */
sumup salnow by minority jobcat;
anaput work;
get work;
/* 職種-人種ラベル作成 */
jobnm=stradd(stradd(jobcat,”-”),minority);
put work1;
get work1;
/* 職種・人種別の平均給与Plot */
plot bar salnow by jobnm/
yrange:[0:40000]
;
職種1,2の白人は給与
が僅に高いが、職種4,5
の白人は逆に低い
17


# Page. 18

![Page Image](https://bcdn.docswell.com/page/27V3V96MJQ.jpg)

7.Padocの記述例・ローンのリスク層を計算(2-1)
ローン情報
顧客コード(複数)
個人コード
個人データ
個人コード
家族コード
summary
サマリー
顧客コード
個人コード
省略
merge
統合情報
顧客コード
個人コード
家族コード
merge
ローン破綻情報
変数加工
家族データ
家族コード
変数選択
分析データ
金額 返済
年齢 年収
破綻
感応度
分析
判別ツリー
18


# Page. 19

![Page Image](https://bcdn.docswell.com/page/5JG3LZNXEL.jpg)

7.Padocの記述・例ローンのリスク層の分析(2-2)
ローンの申し込客のリスク層の分析
契約情報・個人情報・家族情報・延滞情報
を連結して判別ツリーでリスク層を検出
/* 契約情報読込 */
get loan3ContR.csv@;
select personid contract mon amount payrate bonus;
paym=amount/mon+amount*payrate/100/12;
Put cont0;
/* 個人情報を顧客IDでマージ */
Get cont0;
merge loan3PersonR.csv@ by personid/
method=and11
;
put togo0;
/* 家族情報を世帯IDでマージ */
get togo0;
merge loan3Home.csv@ by homeid/
method=and11
;
put togo1;
/* 延滞情報を契約IDでマージ */
get togo1;
merge loan3Bank.csv@ by personid/
method=and11
;
put loan3togo@;
/* 変数追加 */
get loan3togo@;
old=ifix((undate(20180101)-undate(birth))/365.25); //年齢
workold=old-workspan; //就業年齢
if(bonus &gt; 0) bonflg=“1”; //賞与有無
else
bonflg=&quot;0&quot;;
ltoi = amount/income; //借金/収入
ptoi = paym/income; //金利/収入
put loan3ana@;
/* 破綻先(def=bad) と他の変数のCross 感応度解析 */
get loan3ana@;
cross def by counts amount sex work job
income workspan marrige family home
homespan openen old workold bonflg paym
ltoi ptoi;
/* 破綻先(def=bad)のTree分析 */
get loan3ana@;
tree def by counts amount sex work job
income workspan marrige family home
homespan openen old workold bonflg paym
ltoi ptoi/
target/bad,good
terminal=100 /* 末端ノード数 */
test=50
/* 試験用のデータの率 50%*/
;
anaput anaout;
/* 試験データの精度曲線 */
get anaout;
plot line distincRate by countRate;
19


# Page. 20

![Page Image](https://bcdn.docswell.com/page/47Q5YLQ5EP.jpg)

7.Padocの記述例・ローンのリスク層の分析(2-3)
破綻先と個人情報とのCross感応度
判別ツリーによるリスク層の検出
20


# Page. 21

![Page Image](https://bcdn.docswell.com/page/KE49WDNVJ1.jpg)

7.Padocの記述例・ローンの破綻率を計算(2-4)
ローンの申し込客の破綻率のロジット回帰
個人・契約・家族・延滞・を連結したデータ
でロジット回帰で破綻率を計算
/* 連結データの読込 */
get loan3ana@;
/* カテゴリのOneHot化 */
onehot work home marrige;
put anadata0;
get anadata0;
select def bonflg work_dmy1-5 home_dmy1-8 marrige_dmy1
workold ltov family old income homespan openen workspan
ltov ptov;
put anadata1;
get anadata1;
/* 目的変数の指標化 */
if(def == &quot;good&quot;) deflg=0;
else
deflg=1;
put anadata2;
get anadata2;
/* 学習データ2000件と試験データを分離4000件 */
rnd=random;
sort rnd;
if(# &lt;= 2000) outrec train3; //学習データ
else
outrec test3; //試験データ
get train3;
/* ロジット回帰 */
logit deflg by bonflg work_dmy1 work_dmy3-4 home_dmy1-8
marrige_dmy1 ltov family income homespan openen
old workspan ptov;
anaput anaout;
//work_dmy2 は発散する
get anaout;
/* ロジット回帰結果 パレート図の表示 */
plot line logitRate by countRate;
get test3;
/* 試験データのロジットモデル適用 */
score deflg by bonflg work_dmy1 work_dmy3-4 home_dmy1-8
marrige_dmy1 ltov family income homespan openen
old workspan ptov;
anaput test3out;
get test3out;
/* 試験データでのパレート図の表示 */
plot line logitRate by countRate;
21


# Page. 22

![Page Image](https://bcdn.docswell.com/page/L71KYZ54EG.jpg)

7.Padocの記述例・ローンの破綻率を計算(2-4)
結果
学習データでのパレート図
ロジット回帰結果
22
試験データでのパレート図


