1. 程式人生 > 其它 >使用shell測試歷史資料樣本(r2筆記80天)

使用shell測試歷史資料樣本(r2筆記80天)

使用shell分析了一些資料有一些時間了,而且分析的資料情況也是基於歷史資料,今天寫了個指令碼對歷史的資料進行一個簡單的分析,看看準確率到底有多高。 這裡有一個藉助一個指令碼12c.sh 對一些資料的排列百分比進行分析,比如今天有兩個球隊,主隊讓球一個,勝平負的概率為35%,40%,25% 表data裡存放著一些樣本資料,記錄了球隊的比賽情況。

sqlplus -s n1/n1 <<EOF
set linesize 150
set pages 0
set  feedback off
spool check_$1.sh
select 'ksh 12c.sh'||w||' '||t||' '||l||'  '||rw||' '||rt||' '||rl||' ' from data where r=-1 and startdate='$1';
spool  off;
EOF
ksh check_$1.sh |tee check_$1.log
grep suggest check_$1.log  |awk '{print  $7" "$8" "$9" "$10" "$11" "$12" "$1" "$2" "$3" "$4" "$5"  "$6}'>>filter_check.log
cat filter_check.log
function get_result
{
echo $1
sqlplus -s n1/n1 <<EOF
set  pages 0
select case when zhu>ke+1
then rpad('big  win:',20)||to_number(w+rw)||'  '||'$2'||','||'$3'||','||'$4'||','||'$5'||','||'$6'||','||'$7'
when  zhu=ke+1
then rpad('little win:',20)||to_number(w+rt)||'  '||'$2'||','||'$3'||','||'$4'||','||'$5'||','||'$6'||','||'$7'
when  zhu=ke
then rpad('tie:',20)||to_number(t+rl)||'  '||'$2'||','||'$3'||','||'$4'||','||'$5'||','||'$6'||','||'$7'
when  zhu=ke-1
then rpad('little lose:',20)||to_number(l+rl)||'  '||'$2'||','||'$3'||','||'$4'||','||'$5'||','||'$6'||','||'$7'
when  zhu<ke-1
then rpad('big lose:',20)||to_number(l+rl)||'  '||'$2'||','||'$3'||','||'$4'||','||'$5'||','||'$6'||','||'$7'
end
end  from data where  startdate='$1'  and w=$2 and t=$3 and l=$4 and rw=$5 and rt=$6  and rl=$7 order by (zhu-ke); 
EOF
}
while read line
do
echo ---start
echo $line
input_params=`echo  $line|awk '{print $1" "$2" "$3" "$4" "$5" "$6}'`
get_result $1 $input_params  
echo ....end
echo .
done <filter_check.log

rm check_$1.log
rm filter_check.log
rm  check_$1.sh

分析結果如下,比如對前幾天的比賽情況進行分析,在我不知道比賽結果的前提下。 5場比賽猜中了3場,僅供娛樂。

---start
1.24 5.35 7.6 1.8 3.75 3.28 suggest w :82% of total  11
2014-08-26
little win:         4.99 1.24,5.35,7.6,1.8,3.75,3.28
....end
.
---start
1.18 5.85 9.4 1.65 3.9 3.75 suggest w :71% of  total 17
2014-08-26
tie:                9.6 1.18,5.85,9.4,1.65,3.9,3.75
....end
.
---start
1.43 4.15 5.42 2.42 3.4 2.38 suggest w :65% of  total 97
2014-08-26
little lose:        7.8 1.43,4.15,5.42,2.42,3.4,2.38
....end
.
---start
2.1 2.95 3.25 4.7 3.6 1.57 suggest rl :68% of  total 50
2014-08-26
tie:                4.52 2.1,2.95,3.25,4.7,3.6,1.57
....end
.
---start
1.1 6.75 15 1.45 4.2 4.95 suggest w :80% of total  5
2014-08-26
big win:            2.55 1.1,6.75,15,1.45,4.2,4.95
....end