统计全国仓库预测的前两周 商品_仓库_个数
rm(list=ls())
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_feature2.csv",header = FALSE,sep=",")
e=unique(w$V2)
x=0
for (i in 1:length(e)){
w1=w[which(w$V2==e[i]),]
t1=w1[which(w1$V1 <= "20151227"),]
t2=t1[t1$V1>="20151214",]
x[i]=sum(t2$V30)  #满足两个条件 拆开写
}
y=c(1:length(e))
da=data.frame(e,y,x)
da$y='all'
write.table (da, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/result01.csv",sep =",",row.names = F,col.names=F,quote =F)
统计区域仓库预测的前两周 商品_仓库_个数
rm(list=ls())
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_store_feature2.csv",header = FALSE,sep=",")
library("stringr")
r1=as.numeric(str_c(w$V2,w$V3,sep='')) #id+仓库号为唯一标示
e=unique(r1)
r=data.frame(r1,w$V31,w$V1)
x=0
for (i in 1:length(e)){
w1=r[which(r$r1==e[i]),]
t1=w1[which(w1$w.V1>="20151214"),]
t2=t1[which(t1$w.V1 <= "20151227"),]
x[i]=sum(t2$w.V3)
}
tmp=data.frame(w$V2,w$V3)
e1=unique.data.frame(tmp)
da=data.frame(e1,e,x)
da2=data.frame(e1,x)
write.table (da2, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/result02.csv",sep =",",row.names = F,col.names=F,quote =F)

da[which(da$x>300),]$x=da[which(da$x>300),]$x*1.1
da$x=floor(da$x)
write.table (da, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/result01_09.csv",sep =",",row.names = F,col.names=F,quote =F).

未来两周的成交量
特征提取
最近两周的成交量x3
最近一周的成交量x2
最近三周的成交量x4
前一个月的成交量x5
最近一天的成交量x1

全国7天间隔的序列
rm(list=ls())
d=seq(as.Date("2014/10/06"),as.Date("2015/12/27"), by="day")  #生成时间序列
library("stringr")
d=as.numeric(str_replace(str_replace(d,"-",""),"-",""))  #替换替换匹配的部分library("stringr")
d=t(as.matrix(as.data.frame(d)))
d=matrix(d,ncol=7,byrow = TRUE)  #将矩阵按行切割成14列
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_feature2.csv",header = FALSE,sep=",")
e=unique(w$V2)
x=matrix(rep(0,64),nrow=length(e),ncol=64)
x1=0
x2=0
x3=0
x4=0
x5=0
for (i in 1:length(e)){
w1=w[which(w$V2==e[i]),]
x1[i]=sum(w1[which(w1$V1>="20151227"),]$V30)
for (j in 1:64){
t1=w1[which(w1$V1>=d[j,1]),]
t2=t1[which(t1$V1 <= d[j,7]),]
x[i,j]=sum(t2$V30)
}
x2[i]=x[i,64]
x3[i]=x[i,64]+x[i,63]
x4[i]=x[i,64]+x[i,63]+x[i,62]
x5[i]=x[i,57]+x[i,58]+x[i,59]+x[i,60]
}
x[is.na(x)]=0
y=c(1:length(e))
da=data.frame(e,y,x1,x2,x3,x4,x5)
da$y='all'
write.table (da, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/all_feature.csv",sep =",",row.names = F,col.names=F,quote =F)

训练模型
预测前一天的成交量x1-V3  x1[i]=sum(w1[which(w1$V1>="20151213"),]$V30)  -12.13s-双12后一天
预测前一周的成交量x2-V4  x[i,62]             12.07-12.13
预测前两周的成交量x3-V5  x[i,62]+x[i,61]     11.30-12.13  含双12
预测前三周的成交量x4-V6  x[i,62]+x[i,61]+x[i,60]  11.23-12.13  含双12
预测前一个月(28天)的成交量x5-V7 x[i,55]+x[i,56]+x[i,57]+x[i,58]  10.19-11.15含有双11
预测的两周的成交量x6-V8  x[i,64]+x[i,63]  12.14-12.27 
rm(list=ls())
d=seq(as.Date("2014/10/06"),as.Date("2015/12/27"), by="day")  #生成时间序列
library("stringr")
d=as.numeric(str_replace(str_replace(d,"-",""),"-",""))  #替换替换匹配的部分library("stringr")
d=t(as.matrix(as.data.frame(d)))
d=matrix(d,ncol=7,byrow = TRUE)  #将矩阵按行切割成14列
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_feature2.csv",header = FALSE,sep=",")
e=unique(w$V2)
x=matrix(rep(0,64),nrow=length(e),ncol=64)
x1=0
x2=0
x3=0
x4=0
x5=0
x6=0
for (i in 1:length(e)){
w1=w[which(w$V2==e[i]),]
tt1=w1[which(w1$V1>="20151213"),]
tt2=tt1[which(tt1$V1<="20151213"),]
x1[i]=sum(tt2$V30)  #修改sum
for (j in 1:64){
t1=w1[which(w1$V1>=d[j,1]),]
t2=t1[which(t1$V1 <= d[j,7]),]
x[i,j]=sum(t2$V30)
}
x2[i]=x[i,62]
x3[i]=x[i,62]+x[i,61]
x4[i]=x[i,62]+x[i,61]+x[i,60]
x5[i]=x[i,55]+x[i,56]+x[i,57]+x[i,58]
x6[i]=x[i,64]+x[i,63]
}
x[is.na(x)]=0
y=c(1:length(e))
da=data.frame(e,y,x1,x2,x3,x4,x5,x6)
da$y='all'
write.table (da, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/all_feature_train.csv",sep =",",row.names = F,col.names=F,quote =F)
计算相关性--直接用命令cor(矩阵)就可以了呀。矩阵的第(i,j)个元素就是第i与第j个变量的相关系数
da2=data.frame(x1,x2,x3,x4,x5,x6)
cor(da2)
cor(x1,x6)
cor.test(x1,x6)

1、构建前几天的时间特征---eg:1day 1week 2week 1month 3month 6month 9month 1year ....
时间角度:每一个月前10天中间10天的数据,最后10天..
用户角度:四个类目下不同时间维度下的消费特征每个用户14个月不同天的数据
预测角度:取不同的数据时间段进行预测,对于你得到的预测数据进行一个加权融合
每月每天新增用户的数量
2、计算其相关性---MATLAB平台的库函数Corrcoef,得出的各字段之间的相关性分析--R cor(x,y) cor.test(x,y)

rm(list=ls())
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/all_feature_train.csv",header = FALSE,sep=",")
w1=w
da=data.frame(w1$V3,w1$V4,w1$V5,w1$V6,w1$V7,w1$V8)
#数据归一化--消除量纲对数据结构的影响
#dad=scale(da,center=F,scale=T)
dad=da
colnames(dad) <- c("V1","V2","V3","V4","V5","V6")
dad=as.data.frame(dad)
dad1=dad[c(1:(length(dad$V1)-10)),]
dad2=dad[c((length(dad$V1)-9):length(dad$V1)),]
library("forecast")
V1=dad1$V1
V2=dad1$V2
V3=dad1$V3
V4=dad1$V4
V5=dad1$V5
V6=dad1$V6
r=lm(V6~V1+I(V2)+I(V3)+I(V4)+I(V5))
p=floor(predict(r,dad2))
t=dad2$V6
data.frame(p,t)
w[954,]

17449 all--受双11影响特别大的--直接lm预测不好--top2week ok
2806 all
2980 all--直接lm预测-出负数--top2week也不好

V1  V2 V3   V4   V5   V6   V7  V8
954 17449 all 11  194  244  325 1797 168
955 19417 all 11  178  247  311  161 137
956 26977 all  6   58   94  117  267 103
957  2806 all 26  716  843  979 2340 781
958 28093 all  2   11   15   24   27  28
959  2980 all 22  410  501  624 5102 126
960 30541 all  2   34   55   65  137  37
961  3346 all  2    7   19   22   63  47
962  3424 all 37 1155 1528 1870 2617 718
963  4969 all  4   53   92  100   91  54
     p   t    2w   t-p   t-2w
954  48 168  194   120  -26 --受双11影响特别大的--直接lm预测不好--top2week ok
955 164 137  178   -27  -41 --差距不大
956  71 103   58    32   45 --差距不大
957 256 781  716   525   65 --受双11影响特别大的--直接lm预测不好--top2week ok
958  17  28   11    11   17 --差距不大
959  -4 126  410   130 -284 --直接lm预测-出负数--top2week也不好
960  25  37   34    12    3 --差距不大
961  20  47    7    27   40 --差距不大
962 591 718 1155   127 -437 --受双12影响特别大的--直接lm预测不好--top2week也不好
963  63  54   53    -9    1 --差距不大

找出异常值
boxplot.stats(t1)

预测一周21-27 x6----构造大量特征值用降维度方法判断选什么

预测前一天的成交量x1 12.20
预测前一周的成交量x2 12.14-12.20
预测前两周的成交量x3 12.07-12.20 含双12  (去双12,去双11)
预测前三周的成交量x4 11.30-12.20 含双12
预测前一个月(28天)的成交量x5 11.23-12.20 含双12
预测一周的成交量x6  12.21-12.27
划分7天的周期
rm(list=ls())
d=seq(as.Date("2014/10/06"),as.Date("2015/12/27"), by="day")  #生成时间序列
library("stringr")
d=as.numeric(str_replace(str_replace(d,"-",""),"-",""))  #替换替换匹配的部分library("stringr")
#difftime(as.Date("2014-4-25"),as.Date("2014-4-20"))  #时间差
d=t(as.matrix(as.data.frame(d)))
d=matrix(d,ncol=7,byrow = TRUE)  #将矩阵按行切割成14列
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_feature2.csv",header = FALSE,sep=",")
#去双11 双12
w[which(w$V1==20151212),]$V30=0
w[which(w$V1==20151111),]$V30=0
#----
e=unique(w$V2)
x=matrix(rep(0,64),nrow=length(e),ncol=64)
for (i in 1:length(e)){
w1=w[which(w$V2==e[i]),]
for (j in 1:64){
t1=w1[which(w1$V1>=d[j,1]),]
t2=t1[which(t1$V1<= d[j,7]),]
x[i,j]=sum(t2$V30)
}
}
#x[is.na(x)]=0
y=c(1:length(e))
da=data.frame(e,y,x)
da$y='all'
x1=0
for (i in 1:length(e)){
w1=w[which(w$V2==e[i]),]
tt1=w1[which(w1$V1>="20151220"),]
tt2=tt1[which(tt1$V1<="20151220"),]
x1[i]=sum(tt2$V30) 
}
x2=da$X63
x3=da$X62+da$X63
x4=da$X61+da$X62+da$X63
x5=da$X60+da$X61+da$X62+da$X63
x6=da$X64
dad=data.frame(da$e,da$y,x1,x2,x3,x4,x5,x6)
write.table (dad, file ="F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/all_feature_train22.csv",sep =",",row.names = F,col.names=F,quote =F)

rm(list=ls())
w=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/all_feature_train22.csv",header = FALSE,sep=",")
w1=w
da=data.frame(w1$V3,w1$V4,w1$V5,w1$V6,w1$V7,w1$V8)
#数据归一化--消除量纲对数据结构的影响
#dad=scale(da,center=F,scale=T)
dad=da
colnames(dad) <- c("V1","V2","V3","V4","V5","V6")
dad=as.data.frame(dad)
dad1=dad[c(1:(length(dad$V1)-10)),]
dad2=dad[c((length(dad$V1)-9):length(dad$V1)),]
library("forecast")
V1=dad1$V1
V2=dad1$V2
V3=dad1$V3
V4=dad1$V4
V5=dad1$V5
V6=dad1$V6
r=lm(V6~V1+I(V2)+I(V3)+I(V4)+I(V5))
p=floor(predict(r,dad2))
t=dad2$V6
data.frame(p,t,abs(p-t),abs(dad2$V2-t))

p=floor(predict(r,dad))
t=dad$V6
data.frame(p,t,abs(p-t))

cor(da2)
w[904,]
ggg=read.table("F:/笔记学习/天池比赛/菜鸟需求预测与分仓规划/data2/item_feature2.csv",header = FALSE,sep=",")
t1=ggg[which(ggg$V2==2806),]
t1[which(t1$V1=="20151212"),]

954   76   90         14              12
955   66   69          3               1
956   41   48          7               7
957  258  478        220             175
958   12   16          4               4
959   93   57         36              12
960   19   19          0               1
961    9   36         27              25
962  321  404         83              90
963   14   34         20              14
去掉双11 12
954  69  90         21               12
955  72  69          3                1
956  43  48          5                7
957 195 478        283              175
958  11  16          5                4
959  67  57         10               12
960  28  19          9                1
961   9  36         27               25
962 268 404        136               90
963  21  34         13               14

预测的数据n2w

1w Double,  07-13
2w Double,  30-13
3w Double,  23-13
1m Double,  16-13
2m Double,  10.05-13
1d Double,  12.13
2d Double,  12.12
3d Double,  12.11
n2w Double 2015-12.14--2015.12.27

天池大数据比赛-菜鸟仓库比赛-第二赛季记录相关推荐

  1. 天池大数据比赛-菜鸟仓库比赛-第一赛季记录

    赛题说明链接 http://download.csdn.net/detail/q383700092/9538252 R语言  1379640 918539  2021961 1365166   5个 ...

  2. 天池大数据比赛,菜鸟仓库比赛,御膳房操作

    御膳房--操作 表名 描述 来源 所属包 所属项目 操作 item_feature 商品粒度相关特征 天池 查看包 tianchi_data (tianchi_data) 已授权 config     ...

  3. AI比赛-NER:“万创杯”中医药天池大数据竞赛——中药说明书实体识别挑战

    大赛概况 疫情催化下,人工智能正在持续助力中医药传承创新加速发展,其中中医用药知识体系沉淀挖掘是一个基础工作.通过挖掘中药说明书构建中药合理用药的知识图谱,将为中医规范诊疗奠定较好基础.挑战旨在通过抽 ...

  4. kaggle和天池大数据比赛的区别

    kaggle和天池大数据的比赛给我的感觉完全不一样,天池上面的比赛给我感觉更像一场考试,大家都是自己埋头做自己的东西交流很少,以拟合线上验证集为最大的目标.kaggle上的比赛给人感觉更像一场交流分享 ...

  5. 阿里天池大数据竞赛——口碑商家客流量预测 A2

    阿里天池大赛koubeiyuce1 2017年二月份,天池大数据比赛,口碑商家客流量预测,参赛地址及详情: https://tianchi.shuju.aliyun.com/competition/i ...

  6. 阿里巴巴天池大数据竞赛黄金联赛全面开战,全球同步报名,只为寻找最聪明的你!...

    阿里巴巴天池大数据竞赛黄金联赛全面开战,全球同步报名,只为寻找最聪明的你!          天池大数据竞赛是由阿里巴巴集团主办,面向全球新生代力量的高端算法竞赛.通过开放海量数据和"天池& ...

  7. 天池大数据竞赛第一名,上海交通大学人工智能实验室如何用AI定位肺结节

    癌症,犹如黑暗中的魔鬼,带给人们恐惧与绝望.而肺癌,在我国作为发病率.死亡率最高的一类癌症,伤害着无数家庭.在我国每年都有近60万人死于肺癌.然而,癌症的死亡率与首次发现癌症的时期紧密相关,早期肺结节 ...

  8. 新人 天池大数据初涉水

    天池精准医疗大赛--人工智能辅助糖尿病遗传风险预测 一直想做一个天池大数据方面的比赛,以前一直没时间,正逢糖尿病风险预测比赛,阿里举办的,课题比较喜欢,哈哈 进入天池大数据竞赛中心,就可以看到相关信息 ...

  9. 【TIANCHI】天池大数据竞赛(学习赛)--- 淘宝用户购物行为数据可视化分析

    目录 前言 一.数据集的来源和各个字段的意义 二.数据分析 1.引入库 2.读入数据 3.查看数据数量级 4.PV(Page View)/UV访问量 5.漏斗模型 6.用户购买商品的频次分析. 7.A ...

最新文章

  1. 鲲鹏应用创新大赛山西区域赛圆满落幕,鲲鹏生态助力信创变革
  2. 我的 FPGA 学习历程(13)—— 电子钟项目
  3. ThinkPHP学习笔记 事务处理
  4. 2003配置php环境,2003配置PHP环境(有利于升级)
  5. 我爱Java系列---【mysql基础约束】
  6. python map(function, iterable, ...) 内置函数的用法 (序列迭代调用并返回)
  7. JSP中base href=%=basePath%的作用
  8. 【MCtalk】“互联网+”技术融合论坛
  9. js 对 URL 参数进行 加密 解密
  10. 2017年游戏营收报告公布,谁是去年最大的赢家?
  11. 计算机组成原理课设总线,计算机组成原理课程设计(全).doc
  12. 《cut命令》-linux命令五分钟系列之十九
  13. 征途完美单机版_征途单机版下载-征途单机版最新官方版-Minecraft中文分享站
  14. 解构ODL:从代码到架构设计
  15. web前端期末大作业 html+css家乡旅游主题网页设计 湖北武汉家乡介绍网页设计实例
  16. SSH框架报 org.hibernate.impl.QueryImpl cannot be cast to com.gao.ruan.pojos.Category
  17. java gui界面设计qq_Java swing界面开发(仿QQ登录界面)
  18. 将图片转成PDF的几个免费方法
  19. 基于matlab的电机,基于MATLAB的电机仿真研究
  20. 深度分析小熊电器的爆红逻辑

热门文章

  1. xshell下载步骤
  2. 制作产品原型时要注意什么?
  3. android 环信集成,Android 环信集成使用总结
  4. C语言中的while(y--)什么意思,while(x)什么意思
  5. 20211218:口罩数据汇总
  6. 温泉PHP网络授权系统,温泉PHP授权系统验证系统完整开源
  7. 第19课:生活中的访问模式——一千个读者一千个哈姆雷特
  8. 小程序发布上线-微信小程序开发-视频教程17
  9. 简单个人网页设计作业 静态HTML个人博客主页——HTML+CSS+JavaScript 明星鹿晗(7页)
  10. 红孩儿编辑器的模块设计3