テーブル名はcakeを使うので、複数形にします。
create table weather.marunouchis( id int unsigned auto_increment primary key, forecast varchar(255), main varchar(255), description varchar(255), temp float, humidity int, cloud int, speed float, created datetime default null );
PDO::PARAM_INTは、floatやdoubleはないとのこと。指定しないとstrになる。
$now = date("Y-m-d H:i:s");
$i = 0;
foreach($main as $value){
    $stmt->bindParam(':forecast', $time[$i], PDO::PARAM_STR);
    $stmt->bindParam(':main', $value, PDO::PARAM_STR);
    $stmt->bindParam(':description', $description[$i], PDO::PARAM_STR);
    $stmt->bindParam(':temp', $temp[$i], PDO::PARAM_STR);
    $stmt->bindParam(':humidity', $humidity[$i], PDO::PARAM_INT);
    $stmt->bindParam(':cloud', $cloud[$i], PDO::PARAM_INT);
    $stmt->bindParam(':speed', $speed[$i], PDO::PARAM_INT);
    $stmt->bindParam(':created', $now, PDO::PARAM_STR);
    $stmt->execute();
    $i++;
}
入っていますね。
