########## v1.1 针对96点,有功,全采集数据作分析,聚类然后计算各曲线与中心曲线的绝对差于相对差
#transwarp --database yc_db -e"
#select a.id,a.data_date,a.data_type,a.data_point_flag,a.data_whole_flag,a.p1,a.p2,a.p3,a.p4,a.p5,a.p6,a.p7,a.p8,a.p9,
#a.p10,a.p11,a.p12,a.p13,a.p14,a.p15,a.p16,a.p17,a.p18,a.p19,a.p20,a.p21,a.p22,a.p23,a.p24,a.p25,a.p26,a.p27,a.p28,
#a.p29,a.p30,a.p31,a.p32,a.p33,a.p34,a.p35,a.p36,a.p37,a.p38,a.p39,a.p40,a.p41,a.p42,a.p43,a.p44,a.p45,a.p46,a.p47,
#a.p48,a.p49,a.p50,a.p51,a.p52,a.p53,a.p54,a.p55,a.p56,a.p57,a.p58,a.p59,a.p60,a.p61,a.p62,a.p63,a.p64,a.p65,a.p66,
#a.p67,a.p68,a.p69,a.p70,a.p71,a.p72,a.p73,a.p74,a.p75,a.p76,a.p77,a.p78,a.p79,a.p80,a.p81,a.p82,a.p83,a.p84,a.p85,
#a.p86,a.p87,a.p88,a.p89,a.p90,a.p91,a.p92,a.p93,a.p94,a.p95,a.p96 from js_e_mp_power_curve a , js_c_meter b
#where a.data_type like '1' and a.data_point_flag like '1' and a.id = b.METER_ID group by a.id,a.data_date,
#a.data_type,a.data_point_flag,a.data_whole_flag,a.p1,a.p2,a.p3,a.p4,a.p5,a.p6,a.p7,a.p8,a.p9,a.p10,a.p11,a.p12,
#a.p13,a.p14,a.p15,a.p16,a.p17,a.p18,a.p19,a.p20,a.p21,a.p22,a.p23,a.p24,a.p25,a.p26,a.p27,a.p28,a.p29,a.p30,a.p31,
#a.p32,a.p33,a.p34,a.p35,a.p36,a.p37,a.p38,a.p39,a.p40,a.p41,a.p42,a.p43,a.p44,a.p45,a.p46,a.p47,a.p48,a.p49,a.p50,
#a.p51,a.p52,a.p53,a.p54,a.p55,a.p56,a.p57,a.p58,a.p59,a.p60,a.p61,a.p62,a.p63,a.p64,a.p65,a.p66,a.p67,a.p68,a.p69,
#a.p70,a.p71,a.p72,a.p73,a.p74,a.p75,a.p76,a.p77,a.p78,a.p79,a.p80,a.p81,a.p82,a.p83,a.p84,a.p85,a.p86,a.p87,a.p88,
#a.p89,a.p90,a.p91,a.p92,a.p93,a.p94,a.p95,a.p96" > jspower_96_order.txt
###降维聚类
RDIS_THRESHOLD <- 0.10
#TARGET_FILE_LIST<-c("bj_vol.txt" )
TARGET_FILE_LIST<-c("jpower_1.txt" )
FILE_NUMBER<-length(TARGET_FILE_LIST)
#"for_test_order_data.txt" "jiangsu_power96o.txt",
RESULT_FILE_LIST<-paste("result_of_",TARGET_FILE_LIST,sep="")
TARGET_FILE_NAME<-""
RESULT_FILE_NAME<-""
vold<-c(10000,110000,220000,35000,220,6000)
vo_dis<-vold*1.1
calc_dis <- function (nd,mpid,nr_nd)
{
# nr_nd<-mpidx #调试用
# nd<-mydata #调试用
dis_t<-nd[3:26]
avg<-sum(dis_t)/(nr_nd*24)
vold1<-abs(vold-avg)
std<-order(vold1)[1]
v_std<-vold[std]
v_dis<-vo_dis[std]
cnt<-0
for(i in 1:nrow(dis_t))
{
for(j in 1:ncol(dis_t))
{
z<-(dis_t[i,j]>v_dis)
if(dis_t[i,j]>v_dis) cnt<-cnt+1
}
}
write.table(t(c(nd[1,1],nd[1,2],cnt)),file=RESULT_FILE_NAME,append=T,row.names=T,col.names=F)
}
#end of function clac_dis
###################### start ######################
#for(fileidx in 1:FILE_NUMBER ){
fileidx=1
TARGET_FILE_NAME<-TARGET_FILE_LIST[fileidx]
RESULT_FILE_NAME<-RESULT_FILE_LIST[fileidx]
mydata<-read.table(TARGET_FILE_LIST, dec = ".",na.string="NULL") #ordered
omd <- mydata[,c(1,3)]
omd[,3:26] <- mydata[,4:27]
nr<-nrow(omd);nc<-ncol(omd); #行列数
if(file.exists(RESULT_FILE_NAME)){ #analysed
old_result<-read.table(RESULT_FILE_NAME, dec = ".")
meter_id_analysed<-old_result[nrow(old_result),2] #取表的id ,row.names=F时时第一列
} else {
meter_id_analysed<- 1
}
############## preprocess ##############################
id<-omd[1,1] #表的id
nridx<-1 #全表标记
mpidx<-1 #单个电表记录数标记
cat("start now","\n")
while(nridx+mpidx <= nr){ #nr
if(id < meter_id_analysed){ #不分析
nridx<-nridx+1 #标记下移
id<-omd[nridx,1] #新表的id
mpidx<-1 #重置记录数n
# Sys.sleep(0.001)
} else {
if(omd[nridx+mpidx,1] != id){ #发现新一块表
for(i in 1:3)
{
fpidx<-0 #重置记录数n
while(omd[nridx+fpidx,2]==i&&(nridx+fpidx)<(nridx+mpidx))
{
fpidx=fpidx+1
}
if(fpidx>0)
{
newdata<-omd[nridx:(nridx+fpidx-1),]#取这一块表的24点数据,准备作分析
calc_dis(newdata,id,fpidx) #分析
nridx=nridx+fpidx #标记下移
}
}
cat("mpid:",id,"记录数:",mpidx,"完成比例:",(nridx-1)/nr,"\n")
id<-omd[nridx,1] #新表的id
m_cnt<-mpidx
mpidx<-1
#stop(0)
}
else{
mpidx<-mpidx+1
m_cnt<-mpidx
}
}
}
#处理最后一块表
cat("mpid:",id,"记录数:",mpidx,"完成比例:",(nridx+mpidx-1)/nr,"\n")
for(i in 1:3)
{
fpidx<-0 #重置记录数n
while(nridx+fpidx<=nr&&omd[nridx+fpidx,2]==i)
{
fpidx=fpidx+1
}
if(fpidx>0)
{
newdata<-omd[nridx:(nridx+fpidx-1),]#取这一块表的24点数据,准备作分析
calc_dis(newdata,id,fpidx) #分析
nridx=nridx+fpidx #标记下移
}
}
id<-omd[nridx,1] #新表的id
mpidx<-1
print("success!")
#}
maoci.rar_电压 聚类_离群点
版权申诉
9 浏览量
2022-09-24
20:39:31
上传
评论
收藏 2KB RAR 举报
alvarocfc
- 粉丝: 105
- 资源: 1万+
最新资源
- mmexport1714832730470.jpg
- 第8次课作业.md
- 过客软件园_1.1.apk
- boboav_night.apk
- 235486247769308自带键盘安卓海贼.apk
- 672536945416276wap.stuzn.com_1000_1137350andme_signed.apk
- 737836185360652wap.stuzn.com_1000_1642030hzw_n73d.apk
- JavaWeb阶段综合项目的接口文档
- 003 登录rsa+token 登录rsa+token(需改善 私钥不应该硬编码在类中、密码应该存储为哈希值)
- 992475461755466幼稚园春游功能版.apk
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈