Ero sivun ”Energiarenessanssi” versioiden välillä

Opasnet Suomista
Siirry navigaatioon Siirry hakuun
(→‎Jaetun ymmärryksen analyysi: code improved and debugged)
Rivi 149: Rivi 149:
'teko';Teko;
'teko';Teko;
'väite';Väite|default:'muuttuja'|
'väite';Väite|default:'muuttuja'|
name:kiistat|description:Haluatko näyttää kiistellyt asiat nimineen?|type:selection|options:
'kiistelty';Kyllä;
'kj4iU$H b';Ei|default:'kiistelty'|
name:rajaus|description:Rajaa tiettyihin asioihin ja niiden relaatioihin listaamalla ID:t tähän muotoon c('ID1', 'ID2')|
name:rajaus|description:Rajaa tiettyihin asioihin ja niiden relaatioihin listaamalla ID:t tähän muotoon c('ID1', 'ID2')|
name:taulukot|description:Haluatko nähdä myös taulukot?|type:selection|options:
name:taulukot|description:Haluatko nähdä myös taulukot?|type:selection|options:
Rivi 158: Rivi 155:
">
">
#This is code Op_fi5642/ on page [[op_fi:Energiarenessanssi]]
#This is code Op_fi5642/ on page [[op_fi:Energiarenessanssi]]
# Parameters:
# sanalliset: character vector about object types with text labels
# rajaus: IDs of items that are plotted in a smaller graph (also their connections are plotted)
# taulukot: TRUE of FALSE depending whether tables are printed.


library(OpasnetUtils)
library(OpasnetUtils)
Rivi 207: Rivi 208:
     "circle",
     "circle",
     "circle"
     "circle"
   )
   ),
  Size = c(20,10,10,10,10,10)
)
)
vertextype$Shape <- as.character(vertextype$Shape)
vertextype$Shape <- as.character(vertextype$Shape)
Rivi 277: Rivi 279:
eji$Tyyppi <- "päätös"
eji$Tyyppi <- "päätös"
eji$Vaikutus <- NULL
eji$Vaikutus <- NULL
 
eji$Huom <- as.factor(as.character(eji$Huom))
#> colnames(ene)
#[1] "AsiaID" "Aihe"  "Asia"  "Tyyppi" "Kuvaus" "Huom
#> colnames(str)
#[1] "AsiaID"    "Huom"  "Sivunumero" "Jaenumero"  "Aihe"      "Asia"      "Kuvaus"   
#[8] "Tyyppi"   
#> colnames(ohj)
#[1] "AsiaID"    "Aineisto"  "Sivunumero" "Aihe"      "Asia"      "Tavoite"    "Toimija" 
#[8] "Huom"      "Tyyppi"   
#> colnames(eji)
#[1] "Aihe"    "Asia"    "Huom"    "Puolesta" "Vastaan"  "Kuvaus"  "AsiaID"  "Tyyppi" 
#> colnames(kom)
#[1] "AsiaID" "Aika"  "Kuvaus" "Aihe"  "Asia" "Tyyppi" "Huom"


# Temporary removals:  
# Temporary removals:  
Rivi 297: Rivi 287:
kom <- kom[-2]
kom <- kom[-2]


ene <- as.data.frame(lapply(ene, FUN = as.character))
dat <- rbind(ene, str, ohj, eji, kom)
str <- as.data.frame(lapply(str, FUN = as.character))
ohj <- as.data.frame(lapply(ohj, FUN = as.character))
eji <- as.data.frame(lapply(eji, FUN = as.character))
kom <- as.data.frame(lapply(kom, FUN = as.character))
 
dat <- rbind(ene,  
            rbind(str,  
                  rbind(ohj,
                        rbind(eji, kom)
                  )
            )
)


# Create full table with edges and vertices.
# Create full table with edges and vertices.
Rivi 342: Rivi 320:
   "ID_o"
   "ID_o"
)
)
for(i in 1:ncol(jy)) {
  if(is.factor(jy[[i]])) jy[[i]] <- as.character(jy[[i]])
}


#Format edges
#Format edges
Rivi 356: Rivi 330:
# Format vertices
# Format vertices
asnam <- c("Name", "Topic", "Desc", "Note", "Type", "ID")
asnam <- c("Name", "Topic", "Desc", "Note", "Type", "ID")
jy_asiat <- jy[c(1,5,7,10,13,15)]
col <- colorRampPalette(brewer.pal(11, "RdYlGn"))(165)
colnames(jy_asiat) <- asnam
 
temp <-  jy[c(4,6,9,12,14,17)]
items <- jy[c("Subject","Topic_s","Desc_s","Note_s","Type_s","ID_s")]
colnames(items) <- asnam
temp <-  jy[c("Object","Topic_o","Desc_o","Note_o","Type_o","ID_o")]
colnames(temp) <- asnam
colnames(temp) <- asnam
jy_asiat <- rbind(jy_asiat, temp)
items <- rbind(items, temp)
jy_asiat <- jy_asiat[!duplicated(jy_asiat$Name) , ]
items <- items[!duplicated(items$Name) , ]
jy_asiat$vsize <- ifelse(grepl("muuttuja", jy_asiat$Type), 20, 10)
jy_asiat$vcolor <- ifelse(grepl("kiistelty", jy_asiat$Note), "Brown", "SkyBlue2")
jy_asiat$vshape <- vertextype$Shape[findtypes(jy_asiat$Type, vertextype$Type)]


col <- colorRampPalette(brewer.pal(11, "RdYlGn"))(165)
items$vsize <- vertextype$Size[match(items$Type, vertextype$Type)]
jy_asiat$Note[jy_asiat$Note == ""] <- 0
items$vcolor <- col[83 + as.numeric(as.character(items$Note))]
jy_asiat$Note <- as.numeric(jy_asiat$Note)
items$vcolor[is.na(items$vcolor)] <- col[83]
jy_asiat$vframe.color <- col[83 + jy_asiat$Note]
items$vcolor[items$Type == "muuttuja"] <- "SkyBlue2"
jy_asiat$vframe.color[jy_asiat$Type == "muuttuja"] <- "SkyBlue2"
items$vcolor[grepl("kiistelty", items$Note)] <- "Pink"
items$vshape <- vertextype$Shape[findtypes(items$Type, vertextype$Type)]


if(taulukot) oprint(jy_asiat)
if(taulukot) oprint(items)


######## Plot all nodes
######## Plot all nodes


jy2 <- jy
jy2 <- jy
jy_asiat2 <- jy_asiat
items2 <- items


# Change selected names to IDs.
# Change selected names to IDs.
jy2$Subject <- ifelse(findanytype(jy2$Type_s, sanalliset) | findanytype(jy2$Note_s, kiistat), jy2$Subject, jy2$ID_s)  
jy2$Subject <- ifelse(
jy2$Object <- ifelse(findanytype(jy2$Type_o, sanalliset), jy2$Object, jy2$ID_o)
  findanytype(jy2$Type_s, sanalliset),
jy_asiat2$Name <- ifelse(findanytype(jy_asiat2$Type, sanalliset), jy_asiat2$Name, jy_asiat2$ID)
  as.character(jy2$Subject),  
 
  as.character(jy2$ID_s)
setdiff(c(jy2$Subject, jy2$Object), jy_asiat2$Name)
)
jy2$Object <- ifelse(
  findanytype(jy2$Type_o, sanalliset),  
  as.character(jy2$Object),  
  as.character(jy2$ID_o)
)
items2$Name <- ifelse(
  findanytype(items2$Type, sanalliset),  
  as.character(items2$Name),  
  as.character(items2$ID)
)


jygraph <- graph.data.frame(
jygraph <- graph.data.frame(
   jy2[c(1,4,2,3,5:ncol(jy2))],  
   jy2[c(1,4,2,3,5:ncol(jy2))],  
   directed = TRUE,  
   directed = TRUE,  
   vertices = jy_asiat2
   vertices = items2
)
)


Rivi 395: Rivi 379:
     vertex.label.cex = 0.8,  
     vertex.label.cex = 0.8,  
     vertex.size = V(jygraph)$vsize,  
     vertex.size = V(jygraph)$vsize,  
     vertex.color = V(jygraph)$vframe.color,  
     vertex.color = V(jygraph)$vcolor,  
     vertex.shape = V(jygraph)$vshape,
     vertex.shape = V(jygraph)$vshape,
     vertex.frame.color = "Black",
     vertex.frame.color = "Black",
Rivi 409: Rivi 393:
jy3 <- jy[jy$ID_s %in% rajaus | jy$ID_o %in% rajaus , ]
jy3 <- jy[jy$ID_s %in% rajaus | jy$ID_o %in% rajaus , ]


vtest <- items$Name %in% jy3$Subject | items$Name %in% jy3$Object |
  items$ID %in% rajaus
jygraph <- graph.data.frame(
jygraph <- graph.data.frame(
   jy3[c(1,4,2,3,5:ncol(jy))],  
   jy3[c(1,4,2,3,5:ncol(jy))],  
   directed = TRUE,  
   directed = TRUE,  
   vertices = jy_asiat[jy_asiat$Name %in% unique(c(jy3$Subject, jy3$Object)) , ]
   vertices = items[vtest , ]
)
)


Rivi 418: Rivi 404:
     vertex.label.cex = 0.8,  
     vertex.label.cex = 0.8,  
     vertex.size = V(jygraph)$vsize,  
     vertex.size = V(jygraph)$vsize,  
     vertex.color = V(jygraph)$vframe.color,  
     vertex.color = V(jygraph)$vcolor,  
     vertex.shape = V(jygraph)$vshape,
     vertex.shape = V(jygraph)$vshape,
     vertex.frame.color = "Black",
     vertex.frame.color = "Black",
Rivi 427: Rivi 413:
     layout = layout.fruchterman.reingold
     layout = layout.fruchterman.reingold
)
)
cat("Onnistui\n")
</rcode>
</rcode>



Versio 26. lokakuuta 2016 kello 17.30



Kysymys

Energiarenessanssin kysymys on kaksitasoinen.

  • Millaisia toimenpiteitä Helsingin kaupungissa pitäisi tehdä, jotta päästäisiin tavoitteeseen hiilineutraalista kaupungista vuoteen 2050 mennessä?
  • Millä tavalla energiarenessanssiin liittyvää tietoa pitäisi jäsentää, jotta se tuottaisi jaettua ymmärrystä aiheesta ja hyödyntäisi jaetun ymmärryksen menetelmää?

Oletettu käyttö ja käyttäjät

Helsingin kaupunki käyttää tietoja tehdäkseen toiminnastaan sisäisesti johdonmukaista, jotta toimenpiteet eivät estäisi toisten toimenpiteiden toteuttamista tai niiden tavoitteiden saavuttamista.

Osallistujat

  • Jouni Tuomisto THL, arvioinnin vetäjä
  • Helsingin kaupungin ympäristökeskus, ongelmanomistaja. (Jari Viinanen, Petteri Huuska, Mira Jarkko, Timo Kuusiola, Sonja-Maria Ignatius)

Rajaus

Arviointi rajataan aluksi melko suppeaksi, koska työn tekemiseen on vain niukasti resursseja. Rajaus tehdään vasta, kun nähdään millaista materiaalia ja tarpeita alkaa kertyä.

Vaihtoehdot

Toistaiseksi ei ole tunnistettu selkeitä vaihtoehtoja.

Aikataulu ja toteutus

Työ alkaa lokakuussa 2016 ja jatkuu pienellä liekillä 2017 puolelle. Jatko riippuu hankkeen alkuvaiheen onnistumisesta ja mahdollisen ulkopuolisen rahoituksen saamisesta.

Alkuvaiheen keskeinen työ on koota tälle sivulle tietoa, raportteja ja näkemyksiä liittyen energiarenessanssiin. Ympäristökeskus lähettää niitä Jounille, joka rakentaa niistä systemaattista kuvausta. Tämä kuvaus toimii sitten jatkokeskustelujen ja kritiikin pohjana.

Vastaus

Jaettu ymmärrys rakennuskantaan liittyvistä asioista. Muuttujarunko on sivulta Helsingin energiapäätös 2015 ja siihen liittyvät asiat ovat energia ja ilmasto -kyselystä ja hankkeesta Helsingin ohjelmalliset energiatehokkuus- ja ilmastotoimenpiteet ja -tavoitteet.
Yksityiskohta edellisestä kuvasta.

Tulokset

Ei ole vielä tuloksia.

Päätelmät

Ei ole vielä päätelmiä.

Perustelut

Mahdollisia aiheita tarkasteltavaksi

  • Energiarenessanssi ←--#: . Tämä valittiin kiinnostavimpana ja ajankohtaisimpana. --Jouni Tuomisto (keskustelu) 12. lokakuuta 2016 kello 14.50 (UTC) (type: truth; paradigms: science: defence)
  • Kaupunkibulevardit
  • Ruuhkamaksu: Millaisia arvot ja mielikuvat ovat ja mistä ne tulevat
  • Keskuspuisto / yleiskaava
  • Pysäköintipolitiikka / parkkipaikkanormi

Keskustelua

  • On hyödyllistä, että ei tavoitella kohsensusta vaan kuvataan myös ristiriidat. Se auttaa ymmärtämään tilannetta.
  • Iso päätös tarvitsee tuekseen paljon sitä tukevia pieniä päätöksiä. Mikä laukaisee prosessin, jolla iso päätös saadaan aikaan? Miten tehdään politiikkaa, jolla estetään pieniä päätöksiä olemasta ison päätöksen vastaisia? Tukevatko pienet päätökset isoa päätöstä, esim. mitkä normit rajoittavat tiivistä kaupunkia?
  • Miten monimutkaisen asian osat liittyvät toisiinsa? Miten kuvataan tällainen järjestelmä siin, että tietokone voi ylläpitää kuvausta järjestelmästä ja tuottaa sieltä hyödyllisiä näkymiä käyttäjälle (esimerkiksi nostaa esiin johonkin yksityiskohtaan liittyviä asioita vaikka käyttäjä ei tiedä niiden liittyvän siihen)?

Jaetun ymmärryksen kuvaus

Tietoa jaettuun ymmärrykseen lähdettiin hakemaan useasta eri lähteestä.

  • Keskipitkän aikavälin ilmastopolitiikan suunnitelma sisältää energia- ja ilmastosuunnitelman, jonka data löytyy koodista Op_fi5339/preprocessing. Siinä on tällaista tietoa:
    • Kysely: äänestys erilaisista suunnitelluista toimenpiteistä. Data.frame ejikysely. Sarakkeet: Aihe, Toimi, Vaikutus (toistaiseksi tyhjä), Kannatus, Puolesta, Vastaan, Ehdotus.
    • Kommentit: vapaamuotoisia kommentteja ja väitteitä. Data.frame ejikomm. Sarakkeet: Row, Time, Comment, Topic.
    • Sivu sisältää myös rakenteen, jota käytettiin liikennetoimenpiteiden, väitteiden ja muuttujien kuvaamiseen (alaotsikko Jaetun ymmärryksen kuvaus). Taulukoissa on se rakenne, joka on oikeastaan minimi jotta jaetun ymmärryksen kaavio saataisiin aikaan.
      • Asiat: Obs, AsiaID, Asia, Tyyppi, Huom.
      • Relaatiot: Obs, Asia 1, Relaatio, Voima, Asia 2, Tarkenne.
  • Helsingin ohjelmalliset energiatehokkuus- ja ilmastotoimenpiteet ja -tavoitteet, jossa on listattuna Helsingin kaupungin ohjelmissa esitettyjä tavoitteita ja toimenpiteitä. Ohjelmatason toimenpiteet sisältää taulukon, jossa on listattuna yli 600 eri ohjelmissa mainittua ilmastotoimenpidettä. Sarakkeet: Obs, Aineisto, Sivunumero, Osa-alue, Toimenpide, Relaatio, Strategiatason tavoite, Toimija, Vaikutus.
  • Helsingin strategiset energiatehokkuus- ja ilmastotavoitteet sisältää taulukon Tavoitteet tavoitteista ilmaston ja energian osalta. Sarakkeet: Obs, Aineisto, Sivunumero, Jaenumero, Osa-alue, Tavoite, Kuvaus.
  • op_en:Helsinki energy decision 2015 sisältää kausaalikuvauksen rakennuskantaan liittyvästä energiatarpeesta ja -tuotannosta. Tämän mallin keskeisistä muuttujista voisi rakentaa taulukon, joka on rakenteeltaan sama kuin yllä mainittu taulukko Asiat. Muuttujat löytyvät kuvasta op_en:File:Helsinki energy decision 2015.png.

Tästä materiaalista lähdetään rakentamaan energiarenessanssiin liittyvää kaaviota seuraavan ohjeen mukaisesti:

  • Taulukko Asiat, rakenne: Obs, AsiaID, Asia, Tyyppi, Kuvaus, Huom. Huom sisältää tiedon esim siitä, onko asia kiistanalainen.
    • t2b tällä sivulla, johon kirjataan käsin muuttujia Helsingin energiapäätöksestä. AsiaID = "ene"+Obs, Aihe, Asia, Tyyppi = "muuttuja" tms, Kuvaus, Huom.
    • ejikysely: AsiaID = paste("eji", 1:nrow(ejikysely), sep = ""), Aihe = Aihe, Tyyppi = "päätös", Asia = Toimi, Vaikutus (jätetään pois), (Kannatus = Kannatus,) Puolesta = Puolesta, Vastaan = Vastaan, Kuvaus = Ehdotus, Huom = Kannatus?.
    • ejikomm: AsiaID = "kom"+Row, Aihe = Topic, Type = "väite", Asia = t2b:hen kirjoitettu ydinajatus, Kuvaus = Comment, Huom = Time.
    • Helsingin ohjelmatoimet: AsiaID = "ohj"+Obs, Aineisto = Aineisto, Sivunumero = Sivunumero, Aihe = Osa-alue, Tyyppi = "päätös", Asia = Toimenpide, Relaatio: ei oteta mukaan mutta valitaan vain rivit jotka "tukee", Tavoite = Strategiatason tavoite, Toimija = Toimija, (Vaikutus = Vaikutus,) Kuvaus = Toimenpide, Huom = Vaikutus?.
    • Helsingin strategiat: AsiaID = "str"+Obs, Aineisto = Aineisto, Sivunumero = Sivunumero, Jaenumero = Jaenumero, Tyyppi = "arvo", Aihe = Osa-alue, Asia = Tavoite, Kuvaus = Kuvaus, Huom = Jaenumero?.
  • Taulukko Relaatiot, rakenne: Obs, Subjekti, Relaatio, Voima, Objekti, Tarkenne.
    • t2b tällä sivulla, johon kirjataan käsin käsittelyyn nostettavia asioita. Jos asialla ei ole relaatiota, se tippuu pois.



Jaetun ymmärryksen analyysi

Minkätyyppiset asiat haluat nimineen (muut ovat tunnistenumerolla)?:
Muuttuja
Päätös
Teko
Väite

Rajaa tiettyihin asioihin ja niiden relaatioihin listaamalla ID:t tähän muotoon c('ID1', 'ID2'):

Haluatko nähdä myös taulukot?:

+ Näytä koodi

Katso myös

Lähteet


Kommentoi arviointia

Voit kommentoida mitä tahansa arvioinnin sivua tässä. Selkeyden vuoksi kirjoita alempaan kenttään sen sivun nimi, jonka asioita kommentoit.