Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Patroonherkenning in domotica-data

Pagina: 1
Acties:

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Zelf zit ik al een tijdje te spelen met domotica. Lampen doe ik al niet meer aan dat regelt een Raspberry Pi allemaal voor mij, maar met de data die ik opsla kan ik zeker weten nog veel meer doen. Zo sla ik de laatste twee maand mijn energie verbruik op en al 438dagen de licht intensiteit (van een LDR) op.

Één van de vraagstukken waar ik nog al lange tijd over nadenk is: "hoe weet het systeem dat ik naar bed ga?". Als je op de data gaat kijken zul je daar uiteraard een voorspelling voor krijgen. Bijvoorbeeld: het is donderdag dus het is voor 95% aannemelijk dat ik om 23:00 naar bed heen ga, maar dit vind ik al heel wat.

Een ander is of ik uit mijn energie gegevens kan zien welk apparaat aan staat. De wasmachine en koffiezetapparaat hebben echt hele unieke verbruiken, maar de computer kan soms nog wel eens wegvallen wanneer de koelkast en diepvries ook fluctueren, maar deze fluctuatie zou het systeem van de nachten heel mooi moeten kunnen leren, want dan zijn er geen andere systemen die draaien.

Een voorbeeld van mijn energie verbruik. Dit is van de laatste twee dagen:
Afbeeldingslocatie: http://rotzooi.pakspul.nl/energyconsumption.png
Zo zie je dat ik vandaag rond 8uur (tijdslijn staat nog verkeerd, data loopt nu één voor) mijn computer heb aangezet en dat ik om 19:30 ongeveer koffie heb gemaakt. Gisteren ben ik rond 14:30 series gaan kijken. MediaPC en TV pakken meer stroom en herken ik dan ook in de data.

En de licht intensiteit in mijn huis
Afbeeldingslocatie: http://rotzooi.pakspul.nl/lightintensity.png
In deze grafiek zitten vier lijnen: vandaag (donker blauw), gisteren (licht blauw) en minimale en maximale dagen (licht paarse lijnen).

Mijn vraag is eigenlijk: waar start ik met patroon herkenning? Ik heb statistieken gehad, maar dit hobby werk staat eigenlijk ver af van wat ik tijdens mijn opleiding heb gehad. Desondanks denk ik dat de kennis mij niet slecht zou doen. Tevens met de komst van Internet of Things dat dit mogelijk voor meerdere mensen interessant kan zijn.

  • MSalters
  • Registratie: Juni 2001
  • Laatst online: 13-09 00:05
Je hebt een 1-dimensionaal signaal (energieverbruik) met meerdere bijdrages (energie-verbruikers) die bovendien nog varieren. (Wasmachine verbruik hangt af van water temperatuur, bijvoorbeeld). Dat biedt niet heel veel mogelijkheden.

Zoiets simpels als herkennen wanneer je naar bed gaat aan de hand van licht-intensiteit is natuurlijk wel mogelijk. Bereken het gemiddelde nivo tussen 01:00 en 04:00 de vorige nacht, de standaard deviatie, en als je boven 2 a 3 standaarddeviaties zit (95%-99% zekerheid) dan brand er nog licht.

Man hopes. Genius creates. Ralph Waldo Emerson
Never worry about theory as long as the machinery does what it's supposed to do. R. A. Heinlein


  • diondokter
  • Registratie: Augustus 2011
  • Laatst online: 20-11 12:14

diondokter

Dum spiro, spero

Voor herkenning van bijv. handschrift wordt vaak een neuraal netwerk ontworpen: Wikipedia: Artificial neural network

Mits goed geprogrammeerd en met genoeg tijd kan er iets heel moois uit komen.

  • Skyaero
  • Registratie: Juli 2005
  • Niet online
De vraag is wat je precies wilt bereiken en welke actie er uit voort moet komen.

Het meest eenvoudige is om per uur het energiegebruik (of gemiddeld vermogen) uit te rekenen over de afgelopen twee weken. Je krijgt dan een 24-uurs patroon die je als standaard profiel kunt zien, eventueel met standaard deviatie. Je kunt daar je real-time gebruik tegenaan zetten en zien in hoever je van dit gemiddelde afwijkt (bijv met een confidence interval van 95%). Dat is wel achteraf, je moet eerst een uur aan data hebben, voordat je het gemiddelde kunt uitrekenen. Je kunt dus geen real-time acties uitvoeren.

Die afwijking zegt echter nog weinig. Misschien ben je wel een nachtje aan het doorhalen omdat er iets af moet. Dan wil je niet dat je computer door je domotica wordt uitgeschakeld, nog los van de tijdsvertraging van tenminste een uur van het schakelen.

Wil je e profielen van bijvoorbeeld een koelkast mee nemen, dan zul je moeten gaan forecasten. Daarbij houdt je rekening met wat de afgelopen minuten is gebeurd, en de vorige dagen op dezelfde tijd. Komt nog wel bij kijken dat je met een weekpatroon (week/weekend) te maken hebt en misschien zelfs met een jaarpatroon (zomer/winter).

Voor dit type tijdseries werkt een SARMA (seasonal auto regressive moving average) het beste. Neurale netwerken zijn onnodig complex voor dit soort problemen. SARMA is een lineaire regressietechniek. Waarschijnlijk heb je het MA deel nauwelijks nodig. SARMA vereist wel enige wiskundige kennis en mogelijk veel rekenwerk.

Uiteindelijk blijft het moeilijk om 'licht vergeten uit te doen' te onderscheiden van 'een nachtje doorhalen'. Misschien is het nog wel eenvoudiger om een een drukschakelaar in het matras te plaatsen. :)

  • Gleighton
  • Registratie: November 2008
  • Niet online
Zelf een neuraal netwerk programmeren zou ik niet doe, daar heb je zat kant en klare tools voor beschikbaar. Ik zou je aanraden om i.c.m. de data die je nu hebt ook zelf bij gaan houden hoe laat je naar bed gaat. Zo kun door het combineren van de gegevens al kijken welke factoren relevant zijn (na een paar weken data verzamelen). Met die factoren kun je dan een model uitproberen om een inschatting te maken.

Voordeel is natuurlijk dat het niet op de minuut nauwkeurig uit maakt, als je classifier er een kwartiertje naast zit is het helemaal niet erg.

  • Johnsel
  • Registratie: Februari 2004
  • Laatst online: 08-03 21:07
Wat wil je met je gegevens doen inderdaad?

Wil je op basis van het feit dat het systeem denkt dat je naar bed gaat iets laten gebeuren? Met enkel één lichtintensiteit als parameter kun je dan niet heel veel. Het mooiste zou zijn om een combinatie van parameters te gebruiken. Wil je toch op basis van alleen de lichtintensiteit werken dan is per weekdag een kalman filter laten lopen een relatief gemakkelijke manier om een redelijk betrouwbare voorspelling te krijgen.

Wat betreft van je totaalverbruik de individuele verbruikers (en hun toestand) achterhalen, Functional decomposition van LTI-systemen is de richting die je uit moet zoeken, maar dit begrijp ik zelf niet goed genoeg om er verder veel zinnigs over te kunnen zeggen.

Ik ben wel benieuwd naar je plannen, als je nog iemand zoekt om te brainstormen/helpen dan kun je me PM'en. Het lijkt me wel een leuk project.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Misschien is iets meer achtergrond informatie handig en de vraag te breed. Op het moment heb ik een Raspberry Pi draaien welke d.m.v. pingen van mijn telefoon kijkt of ik thuis ben. Hij kijkt op het moment alleen naar of ik thuis kom, want i.v.m. energie besparing kan WiFi van de telefoon soms uitgeschakeld zijn en dan ziet hij hem niet. Op een Arduino klik nu op een knop waarmee ik aangeef: 'ik ben nu niet meer thuis'. Dan schakeld de Pi mobile entrance voor 15minuten uit, want als hij direct mij telefoon pingt dan ziet hij dat ik thuis ben. Dit werkt allemaal perfect, dan wordt het avond en moeten de lampen aan. De Pi combineert zonsondergang gegevens met licht intensiteit en komt de waarde onder een bepaalde threshold dan zet hij de lampen aan.

Tot dat punt gaat alles nog goed, maar wanneer ik naar bed ga dan moet ik nog op knoppen drukken. Opzich geen ramp, maar ik wil dat het systeem dit gaat regelen. Ik heb over verschillende zaken nagedacht.
Via control panel op telefoon - Op het moment heb ik al een webpagina waarop ik dit kan regelen, maar dan moet ik de telefoon pakken en daar knoppen indrukken. Als ik toch naar bed loop dan kan ik makkelijker de knoppen op de Arduino indrukken.
Locatie tracking in huis - Voordeel hiervan is dat het systeem kan registeren in welke kamer ik ben en dan het licht in die kamers kan regelen. Nadeel, GPS voor die kleine afstanden onnauwkeurig en andere heb al aardige tijd op Google gezocht naar andere tracking systemen i.c.m Arduino's, maar het nadeel is dat ik niets extra's wil gaan dragen, want dan moet ik daar eigenlijk weer aan gaan denken. Dan komt zelfs nog het punt, wat als ik maar heel even op mijn slaapkamer ben?
Stem gestuurd - Utopisch gesproken, een soort JARVIS. Mee zitten spelen en ik kwam er achter dat mijn vogels ook commando's kunnen 'inspreken'. Dan wil ik nog geen eens weten wat er gebeurd als ik een film ga kijken. Of hoe mijn stem door de film heen komt. Op het moment heb ik c# getest. Iets Linux achtig voor op een Raspberry staat nog op het programma.
A.d.h.v. patroon herkenning Voordeel het systeem gaat het voor mij regelen, nadeel dit gaat op een statistische manier geregeld worden. 95% kans dat ik om 23:00 naar bed ga. Als de film nog 5minuten duurt dan zit ik in het donker.

Ik wil eigenlijk niet gaan dragen, bijvoorbeeld een RFID chip o.i.d, maar het systeem moet mij dus wel zien. Wat dan de beste winnaar is, is toch via spraak het systeem gaan besturen. Mochten jullie iets anders weten dan sta ik daar graag voor open, want ik probeer out-of-de-box te denken, maar zit een beetje vast.

  • Johnsel
  • Registratie: Februari 2004
  • Laatst online: 08-03 21:07
In dat geval zou je afhankelijk van het soort huis waar je in woont kunnen kijken naar bijv de sterkte van de wifi, of misschien ligt je telefoon altijd plat op het nachtkastje aan de lader. Of een druksensortje in bed?

Wat betreft voice commando's op de raspberry, meet Jasper: http://jasperproject.github.io

[ Voor 4% gewijzigd door Johnsel op 17-09-2014 02:48 ]


  • Croga
  • Registratie: Oktober 2001
  • Laatst online: 21-11 13:33

Croga

The Unreasonable Man

4Real schreef op maandag 15 september 2014 @ 20:25:
Locatie tracking in huis - Voordeel hiervan is dat het systeem kan registeren in welke kamer ik ben en dan het licht in die kamers kan regelen. Nadeel, GPS voor die kleine afstanden onnauwkeurig en andere heb al aardige tijd op Google gezocht naar andere tracking systemen i.c.m Arduino's, maar het nadeel is dat ik niets extra's wil gaan dragen, want dan moet ik daar eigenlijk weer aan gaan denken. Dan komt zelfs nog het punt, wat als ik maar heel even op mijn slaapkamer ben?
Wat dacht je van bewegings sensoren?
En als je maar heel even in de slaapkamer bent kun je dit uiteraard gewoon met een delay programmeren: Ga pas uit als eigenaar 5 minuten in slaapkamer is.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Johnsel schreef op woensdag 17 september 2014 @ 02:47:
In dat geval zou je afhankelijk van het soort huis waar je in woont kunnen kijken naar bijv de sterkte van de wifi, of misschien ligt je telefoon altijd plat op het nachtkastje aan de lader. Of een druksensortje in bed?

Wat betreft voice commando's op de raspberry, meet Jasper: http://jasperproject.github.io
Dat Jasper ziet er goed uit, daar ga ik eens mee spelen. Wifi sterkte is nog een leuk idee, daar heb ik nog niet aan gedacht. Dat houd ik in gedachten.
Croga schreef op woensdag 17 september 2014 @ 05:41:
[...]

Wat dacht je van bewegings sensoren?
En als je maar heel even in de slaapkamer bent kun je dit uiteraard gewoon met een delay programmeren: Ga pas uit als eigenaar 5 minuten in slaapkamer is.
Bewegingssensoren heb ik ook aan gedacht, maar op lambal-zondag lig ik meestal lam op de bank en dan kan het volgens mij zo zijn dat de sensor mij niet ziet. Hier heb ik tijdens mij studie last van gehad. In een hokje zat een bewegingssensor en als je stil zat dan kon het zo zijn dat het licht weer uit viel :/

  • Johnsel
  • Registratie: Februari 2004
  • Laatst online: 08-03 21:07
4Real schreef op woensdag 17 september 2014 @ 14:01:
[...]
Dat Jasper ziet er goed uit, daar ga ik eens mee spelen. Wifi sterkte is nog een leuk idee, daar heb ik nog niet aan gedacht. Dat houd ik in gedachten.


[...]
Bewegingssensoren heb ik ook aan gedacht, maar op lambal-zondag lig ik meestal lam op de bank en dan kan het volgens mij zo zijn dat de sensor mij niet ziet. Hier heb ik tijdens mij studie last van gehad. In een hokje zat een bewegingssensor en als je stil zat dan kon het zo zijn dat het licht weer uit viel :/
Of je maakt een IR gate dmv 2 van deze in je deurposten https://www.sparkfun.com/products/242. Wel prijziger, maar wel zeer betrouwbaar.

  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Heb ik bij mijn voordeur geprobeerd, maar tussen deur open/sluit zit nog een wereld van grijze vlakken. Ik heb gekeken of het slot dicht is (dus niet thuis, want als ik thuis ben heb ik de deur nooit op slot). Maar als ik de deur er open doe dan meet hij soms ook nog veranderingen. En in de deurposten sensoren gaan frezen zit er nu in mijn huurwoning er niet echt in :P

  • Guldan
  • Registratie: Juli 2002
  • Laatst online: 20-11 21:10

Guldan

Thee-Nerd

Zou je door middel van de GPS in je telefoon niet kunnen bepalen dat wanneer je signaal hebt (dus buiten bent) en buiten een bepaald gebied dat je dan niet thuis bent? Volgens mij een soort van Geofencing (zie:http://computerworld.nl/beveiliging/78231-wat-is-geofencing)

You know, I used to think it was awful that life was so unfair. Then I thought, wouldn't it be much worse if life were fair, and all the terrible things that happen to us come because we actually deserve them?


  • 4Real
  • Registratie: Juni 2001
  • Laatst online: 14-09-2024
Goed idee, wil sowieso nog iets met Android doen en dat Geofencing is een leuke om te zien of ik thuis ben ja of nee. Op het moment pingt hij mijn telefoon, opzich werkt dat ook erg goed. Als naar huis fiets zie ik soms al de lampen aan gaan, erg tof om te zien :)
Pagina: 1