Faits :
A.
Par ordonnance du 22 février 2019, le Ministère public de l'arrondissement du Nord vaudois a ordonné le classement de la procédure pénale dirigée contre A._ pour incendie par négligence; il a mis à sa charge les frais de la procédure, par 1'900 francs.
Le Procureur a considéré que la prévenue s'était rendue coupable d'incendie par négligence. Il a néanmoins renoncé à lui infliger une peine en application de l'<ref-law> et a ordonné le classement de la procédure, en estimant que cette dernière avait été suffisamment sanctionnée par les conséquences de son acte. Il a en effet exposé que A._ avait perdu l'intégralité de ses biens mobiliers dans l'incendie, qu'elle avait dû être relogée durant de nombreux mois chez un cousin et qu'elle avait subi un traumatisme moral conséquent ainsi que des inconvénients matériels importants. Le Procureur a ajouté que la prévenue avait ainsi été directement et gravement atteinte par sa faute qui, bien que légère, avait eu de graves conséquences. En outre, le Ministère public a considéré qu'il se justifiait de faire supporter les frais de procédure à la prévenue, celle-ci étant à l'origine de l'ouverture de l'instruction.
B.
Par arrêt du 27 mai 2019, la Chambre des recours pénale du Tribunal cantonal vaudois a rejeté dans la mesure où il était recevable le recours interjeté par A._ contre cette ordonnance, qu'elle a confirmée.
Les faits à l'origine de la procédure sont en substance les suivants.
Le 18 mars 2018 vers 4 heures du matin, un incendie s'est déclaré dans la cuisine de A._ avant de se propager à l'intégralité de l'immeuble, qui compte trois appartements. Il a été reproché à A._ d'avoir omis d'éteindre deux plaques de sa cuisinière électrique.
C.
A._ forme un recours en matière pénale au Tribunal fédéral contre l'arrêt de la Chambre des recours pénale. Elle conclut, avec suite de frais et dépens pour les instances cantonales et fédérale, principalement, à la réforme de l'arrêt attaqué en ce sens qu'il est constaté que l'ordonnance de classement contient un verdict de culpabilité et viole la présomption d'innocence et que ladite ordonnance est modifiée, le classement de la procédure étant ordonné et les frais mis à la charge de l'état de Vaud. A titre subsidiaire, elle conclut à l'annulation de l'arrêt attaqué et au renvoi de la cause à la cour cantonale pour qu'elle complète l'instruction et rende une nouvelle décision. La recourante sollicite par ailleurs l'effet suspensif.

Considérant en droit :
1.
La recourante invoque une violation de la présomption d'innocence. Elle reproche à la cour cantonale de lui avoir dénié à tort la qualité pour recourir contre l'ordonnance de classement alors que celle-ci contient l'affirmation qu'elle a commis une faute ayant eu de graves conséquences, sans que la preuve d'une faute ait été rapportée et sans qu'elle ait pu exercer efficacement ses droits de défense.
La cour cantonale a certes mentionné que le recours interjeté devant elle n'était pas recevable. Elle a toutefois examiné les arguments qui y étaient invoqués et est parvenue à la conclusion que le verdict de culpabilité retenu implicitement dans l'ordonnance attaquée pouvait être confirmé.
Lorsque l'arrêt attaqué comporte, comme en l'espèce, plusieurs motivations indépendantes ou subsidiaires, toutes suffisantes pour sceller le sort de la cause, il appartient à la recourante, sous peine d'irrecevabilité, de démontrer, par une motivation suffisante, que chacune d'entre elles est contraire au droit et, pour obtenir gain de cause, de montrer que toutes sont contraires au droit (<ref-ruling> consid. 2.4 p. 368 et les arrêts cités). Dès lors que la cour cantonale a examiné le bien-fondé de l'ordonnance de classement, il n'y a pas lieu de se prononcer sur l'affirmation selon laquelle le recours aurait été irrecevable puisque les griefs formulés par la recourante contre le rejet de son recours ne sont pas bien fondés pour les motifs exposés ci-dessous.
2.
La recourante se prévaut notamment de l'art. 107 al. 1 let. e CPP et se plaint d'une violation de son droit d'être entendue, ainsi que du principe de la bonne foi et de l'interdiction de l'abus de droit. Elle fait valoir qu'à la lecture de l'avis de prochaine clôture du 29 janvier 2019 par lequel le ministère public lui a fait part de son intention de rendre une ordonnance de classement elle a de bonne foi compris que l'ordonnance à venir ne porterait pas atteinte à sa présomption d'innocence, de sorte qu'elle a renoncé à formuler d'autres réquisitions de preuves.
2.1. Le droit d'être entendu, consacré par l'<ref-law>, garantit aux parties le droit de déposer des propositions relatives aux moyens de preuves (al. 1 let. e).
Il ressort des constatations de l'arrêt attaqué que l'avis de prochaine clôture mentionnait l'intention du ministère public de mettre les frais de la procédure à la charge de la recourante. Celle-ci, qui était au demeurant représentée par un avocat, ne pouvait donc pas partir de l'idée qu'aucune faute ne lui serait imputée. Elle n'a néanmoins pas fait usage de la possibilité qui lui était offerte de présenter d'autres réquisitions de preuves. Il y a ainsi lieu de constater qu'elle a eu l'opportunité de solliciter l'administration de preuves de sorte que son droit d'être entendue n'a pas été violé. Par ailleurs, elle ne montre pas, par une argumentation satisfaisant aux exigences de motivation de l'<ref-law>, que le principe de la bonne foi et l'interdiction de l'abus de droit auraient été violés.
3.
La recourante soutient qu'en mettant à sa charge les frais de la procédure la cour cantonale a violé l'<ref-law>. Elle fait valoir qu'il s'agit d'une peine déguisée laissant supposer qu'elle est coupable alors que le caractère incomplet de l'instruction s'opposait à ce qu'une faute lui soit imputée.
La recourante n'établit pas en quoi l'instruction serait incomplète. La cour cantonale s'est fondée sur le rapport de la police scientifique pour fonder la responsabilité de la recourante dans l'origine de l'incendie (cf. arrêt attaqué p. 4 et 5). On ne perçoit là aucun arbitraire dans l'établissement des faits, la recourante ne soulevant d'ailleurs à cet égard aucun grief suffisamment motivé (<ref-law>), ni violation de la présomption d'innocence. La cour cantonale n'a pas violé le droit fédéral en faisant reposer le classement sur l'<ref-law>.
Conformément à la jurisprudence, lorsqu'une ordonnance de non-entrée en matière ou de classement est rendue en application notamment de l'<ref-law>, une mise des frais à la charge du prévenu est justifiée (voir <ref-ruling> consid. 2.3 p. 206). Ainsi les autorités cantonales n'ont pas violé l'<ref-law> en mettant les frais de la procédure à la charge de la recourante.
4.
Enfin, la recourante allègue qu'en refusant de lui allouer une indemnité la cour cantonale a violé l'<ref-law>.
La question de l'indemnisation du prévenu (<ref-law>) doit être traitée en relation avec celle des frais (<ref-law>). Si le prévenu supporte les frais en application de l'art. 426 al. 1 ou 2 CPP, une indemnité est en règle générale exclue (<ref-ruling> consid. 2.3.2 p. 98; <ref-ruling> consid. 1.8.2 p. 211; <ref-ruling> consid. 2.4.2 p. 357). Etant admis que c'est à juste titre que les frais de la procédure ont été mis à la charge de la recourante en application de l'<ref-law> (consid. 3 ci-dessus), c'est aussi sans violer le droit fédéral qu'aucune indemnité ne lui a été allouée en vertu de l'<ref-law>.
5.
Mal fondé, le recours doit être rejeté. La recourante, qui succombe, supportera les frais judiciaires (<ref-law>). Enfin, la cause étant tranchée, la demande d'effet suspensif devient sans objet.

Par ces motifs, le Tribunal fédéral prononce :
1.
Le recours est rejeté.
2.
Les frais judiciaires, arrêtés à 3'000 fr., sont mis à la charge de la recourante.
3.
Le présent arrêt est communiqué aux parties et à la Chambre des recours pénale du Tribunal cantonal vaudois.
Lausanne, le 23 octobre 2019
Au nom de la Cour de droit pénal
du Tribunal fédéral suisse
Le Président : Denys
La Greffière : Paquier-Boinay